From e0943ec2dfe99807491be3c0ece0cd40a6a6e365 Mon Sep 17 00:00:00 2001 From: Antoine <43954001+awecx@users.noreply.github.com> Date: Sat, 24 Jul 2021 15:46:19 +0200 Subject: [PATCH] Multiprocessing (#1671) Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com> --- library/multiprocessing.po | 464 ++++++++++++----------- library/multiprocessing.shared_memory.po | 6 +- 2 files changed, 246 insertions(+), 224 deletions(-) diff --git a/library/multiprocessing.po b/library/multiprocessing.po index f8812639..e1b090dd 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-01-27 19:26+0100\n" -"PO-Revision-Date: 2020-08-22 12:43+0200\n" -"Last-Translator: Mathieu Dupuy \n" +"PO-Revision-Date: 2021-07-16 22:51+0200\n" +"Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 2.3\n" #: library/multiprocessing.rst:2 msgid ":mod:`multiprocessing` --- Process-based parallelism" @@ -28,7 +28,6 @@ msgid "Introduction" msgstr "Introduction" #: library/multiprocessing.rst:14 -#, fuzzy msgid "" ":mod:`multiprocessing` is a package that supports spawning processes using " "an API similar to the :mod:`threading` module. The :mod:`multiprocessing` " @@ -40,12 +39,13 @@ msgid "" msgstr "" ":mod:`multiprocessing` est un paquet qui permet l'instanciation de processus " "via la même API que le module :mod:`threading`. Le paquet :mod:" -"`multiprocessing` offre à la fois des possibilités de programmation " -"concurrente locale ou à distance, contournant les problèmes du :term:`Global " -"Interpreter Lock` en utilisant des processus plutôt que des fils " -"d'exécution. Ainsi, le module :mod:`multiprocessing` permet au développeur " -"de bénéficier entièrement des multiples processeurs sur une machine. Il " -"tourne à la fois sur les systèmes Unix et Windows." +"`multiprocessing` permet la programmation concurrente sur une même machine " +"ou entre machines. Il permet de contourner les problèmes du :term:`verrou " +"global de l'interpréteur (GIL) ` en " +"utilisant des processus plutôt que des fils d'exécution. Ainsi, le module :" +"mod:`multiprocessing` permet au développeur d'exploiter au mieux tous les " +"processeurs d'une machine. Il tourne à la fois sur les systèmes Unix et " +"Windows." #: library/multiprocessing.rst:23 msgid "" @@ -61,8 +61,8 @@ msgid "" msgstr "" "Le module :mod:`multiprocessing` introduit aussi des API sans analogues dans " "le module :mod:`threading`. Un exemple est l'objet :class:`~multiprocessing." -"pool.Pool` qui offre une manière pratique de paralléliser l'exécution d'une " -"fonction sur de multiples valeurs d'entrée, distribuant ces valeurs entre " +"pool.Pool` qui offre un moyen simple de paralléliser l'exécution d'une " +"fonction sur plusieurs valeurs d'entrée, en distribuant ces valeurs entre " "les processus (parallélisme de données). L'exemple suivant présente la " "manière classique de définir une telle fonction dans un module afin que les " "processus fils puissent importer ce module avec succès. Cet exemple basique " @@ -92,16 +92,16 @@ msgstr "" msgid "" "To show the individual process IDs involved, here is an expanded example::" msgstr "" -"Pour afficher les IDs des processus impliqués, voici un exemple plus " -"étoffé ::" +"Voici un exemple plus étoffé qui affiche les identifiants des processus " +"créés ::" #: library/multiprocessing.rst:85 msgid "" "For an explanation of why the ``if __name__ == '__main__'`` part is " "necessary, see :ref:`multiprocessing-programming`." msgstr "" -"La nécessité de la ligne ``if __name__ == '__main__'`` est expliquée par :" -"ref:`multiprocessing-programming`." +"La nécessité de la ligne ``if __name__ == '__main__'`` est expliquée dans la " +"section :ref:`multiprocessing-programming`." #: library/multiprocessing.rst:91 msgid "Contexts and start methods" @@ -112,15 +112,14 @@ msgid "" "Depending on the platform, :mod:`multiprocessing` supports three ways to " "start a process. These *start methods* are" msgstr "" -"Suivant la plateforme, :mod:`multiprocessing` gère trois manières de " -"démarrer un processus. Ces *méthodes de démarrage* sont" +"Selon la plateforme, :mod:`multiprocessing` gère trois manières de démarrer " +"un processus. Ces *méthodes de démarrage* sont" #: library/multiprocessing.rst:106 msgid "*spawn*" msgstr "*spawn*" #: library/multiprocessing.rst:99 -#, fuzzy msgid "" "The parent process starts a fresh python interpreter process. The child " "process will only inherit those resources necessary to run the process " @@ -204,7 +203,7 @@ msgid "" "platforms. Child processes no longer inherit all of the parents inheritable " "handles on Windows." msgstr "" -"*spawn* ajouté à toutes les plateformes Unix, et *forkserver* ajouté à " +"ajout de *spawn* à toutes les plateformes Unix et ajout de *forkserver* à " "certaines plateformes Unix. Les processus fils n'héritent plus de tous les " "descripteurs héritables du parent sous Windows." @@ -293,7 +292,7 @@ msgstr "" "Les méthodes de démarrage ``’spawn’`` et ``’forkserver’`` ne peuvent pas " "être utilisées avec des exécutables « figés » (c'est-à-dire des binaires " "produits par des paquets comme **PyInstaller** et **cx_Freeze**) sur Unix. " -"La méthode de démarrage ``’fork’`` fonctionne." +"Seule la méthode de démarrage ``’fork’`` fonctionne." #: library/multiprocessing.rst:209 msgid "Exchanging objects between processes" @@ -309,7 +308,7 @@ msgstr "" #: library/multiprocessing.rst:214 msgid "**Queues**" -msgstr "**Queues**" +msgstr "**Files** (*queues*)" #: library/multiprocessing.rst:216 msgid "" @@ -322,8 +321,7 @@ msgstr "" #: library/multiprocessing.rst:231 msgid "Queues are thread and process safe." msgstr "" -"Les queues peuvent être utilisées par plusieurs fils d'exécution ou " -"processus." +"Les files peuvent être utilisées par plusieurs fils d'exécution ou processus." #: library/multiprocessing.rst:233 msgid "**Pipes**" @@ -347,12 +345,12 @@ msgid "" "corruption from processes using different ends of the pipe at the same time." msgstr "" "Les deux objets de connexion renvoyés par :func:`Pipe` représentent les deux " -"bouts d'un tube. Chaque objet de connexion possède (entre autres) des " +"extrémités d'un tube. Chaque objet de connexion possède (entre autres) des " "méthodes :meth:`~Connection.send` et :meth:`~Connection.recv`. Notez que les " "données d'un tube peuvent être corrompues si deux processus (ou fils " -"d'exécution) essaient de lire ou d'écrire sur le même bout du tube en même " -"temps. Évidemment il n'y a pas de risque de corruption si les processus " -"utilisent deux bouts différents en même temps." +"d'exécution) essaient de lire ou d'écrire sur la même extrémité du tube en " +"même temps. Bien évidemment, deux processus peuvent utiliser les deux " +"extrémités différentes en même temps sans risque de corruption." #: library/multiprocessing.rst:261 msgid "Synchronization between processes" @@ -423,10 +421,10 @@ msgid "" "objects will be process and thread-safe." msgstr "" "Les arguments ``'d'`` et ``'i'`` utilisés à la création des ``num`` et " -"``arr`` sont des codes de types tels qu'utilisés par le module :mod:" -"`array` : ``'d'`` indique un flottant double-précision et ``'i'`` indique un " -"entier signé. Ces objets peuvent être partagés sans problème entre processus " -"ou entre fils d’exécution multiples." +"``arr`` sont des codes de types identiques à ceux du module :mod:`array` : " +"``'d'`` indique un flottant double-précision et ``'i'`` indique un entier " +"signé. Ces objets peuvent être partagés sans problème entre processus ou " +"fils d’exécution." #: library/multiprocessing.rst:329 msgid "" @@ -460,7 +458,7 @@ msgid "" "`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` and :class:" "`Array`. For example, ::" msgstr "" -"Un gestionnaire renvoyé par :func:`Manager` supportera les types :class:" +"Un gestionnaire renvoyé par :func:`Manager` prend en charge les types :class:" "`list`, :class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:" "`RLock`, :class:`Semaphore`, :class:`BoundedSemaphore`, :class:`Condition`, :" "class:`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` et :class:" @@ -481,7 +479,7 @@ msgstr "" #: library/multiprocessing.rst:377 msgid "Using a pool of workers" -msgstr "Utiliser un réservoir de *workers*" +msgstr "Utiliser un pool de *workers*" #: library/multiprocessing.rst:379 msgid "" @@ -489,7 +487,7 @@ msgid "" "processes. It has methods which allows tasks to be offloaded to the worker " "processes in a few different ways." msgstr "" -"La classe :class:`~multiprocessing.pool.Pool` représente une *pool* de " +"La classe :class:`~multiprocessing.pool.Pool` représente un pool de " "processus de travail. Elle possède des méthodes qui permettent aux tâches " "d'être déchargées vers les processus de travail de différentes manières." @@ -502,7 +500,7 @@ msgid "" "Note that the methods of a pool should only ever be used by the process " "which created it." msgstr "" -"Notez que les méthodes d'une *pool* ne devraient être utilisées que par le " +"Notez que les méthodes d'un pool ne doivent être utilisées que par le " "processus qui l'a créée." #: library/multiprocessing.rst:432 @@ -569,7 +567,7 @@ msgid "" "creating process." msgstr "" "Le constructeur doit toujours être appelé avec des arguments nommés. *group* " -"devrait toujours être ``None`` ; il existe uniquement pour la compatibilité " +"doit toujours être ``None`` ; il existe uniquement pour la compatibilité " "avec :class:`threading.Thread`. *target* est l'objet appelable qui est " "invoqué par la méthode :meth:`run(). Il vaut ``None`` par défaut, signifiant " "que rien n'est appelé. *name* est le nom du processus (voir :attr:`name` " @@ -674,7 +672,7 @@ msgstr "" "Le nom initial est déterminé par le constructeur. Si aucun nom explicite " "n'est fourni au constructeur, un nom de la forme « Process-N\\ :sub:`1`:N\\ :" "sub:`2`:...:N\\ :sub:`k` » est construit, où chaque N\\ :sub:`k` est le N\\ :" -"sup:`e` enfant de son parent." +"sup:`e` fils de son parent." #: library/multiprocessing.rst:540 msgid "Return whether the process is alive." @@ -705,7 +703,7 @@ msgid "" "When a process exits, it attempts to terminate all of its daemonic child " "processes." msgstr "" -"Quand un processus se ferme, il tente de terminer tous ses processus enfants " +"Quand un processus se ferme, il tente de terminer tous ses processus fils " "*daemon*." #: library/multiprocessing.rst:555 @@ -717,8 +715,8 @@ msgid "" "(and not joined) if non-daemonic processes have exited." msgstr "" "Notez qu'un processus *daemon* n'est pas autorisé à créer des processus " -"fils. Sinon un processus *daemon* laisserait ses enfants orphelins lorsqu'il " -"se termine par la fermeture de son parent. De plus, ce **ne sont pas** des " +"fils. Sinon un processus *daemon* laisserait ses fils orphelins lorsqu'il se " +"termine par la fermeture de son parent. De plus, ce **ne sont pas** des " "*daemons* ou services Unix, ce sont des processus normaux qui seront " "terminés (et non attendus) si un processus non *daemon* se ferme." @@ -743,8 +741,8 @@ msgid "" "terminated. A negative value *-N* indicates that the child was terminated " "by signal *N*." msgstr "" -"Le code de fermeture de l'enfant. La valeur est ``None`` si le processus ne " -"s'est pas encore terminé. Une valeur négative *-N* indique que le fils a été " +"Le code de retour du fils. La valeur est ``None`` si le processus ne s'est " +"pas encore terminé. Une valeur négative *-N* indique que le fils a été " "terminé par un signal *N*." #: library/multiprocessing.rst:577 @@ -797,7 +795,7 @@ msgid "" "``WaitForMultipleObjects`` family of API calls. On Unix, this is a file " "descriptor usable with primitives from the :mod:`select` module." msgstr "" -"Sous Windows, c'est un mécanisme de l'OS utilisable avec les familles " +"Sous Windows, c'est un mécanisme système utilisable avec les familles " "d'appels API ``WaitForSingleObject`` et ``WaitForMultipleObjects``. Sous " "Unix, c'est un descripteur de fichier utilisable avec les primitives sur " "module :mod:`select`." @@ -818,7 +816,7 @@ msgid "" "Note that descendant processes of the process will *not* be terminated -- " "they will simply become orphaned." msgstr "" -"Notez que les descendants du processus ne *seront pas* terminés – ils " +"Notez que les descendants du processus ne sont *pas* terminés – ils " "deviendront simplement orphelins." #: library/multiprocessing.rst:614 @@ -830,7 +828,7 @@ msgid "" "deadlock." msgstr "" "Si cette méthode est utilisée quand le processus associé utilise un tube ou " -"une queue, alors le tube ou la queue sont susceptibles d'être corrompus et " +"une file, alors le tube ou la file sont susceptibles d'être corrompus et " "peuvent devenir inutilisables par les autres processus. De façon similaire, " "si le processus a acquis un verrou, un sémaphore ou autre, alors le terminer " "est susceptible de provoquer des blocages dans les autres processus." @@ -861,7 +859,7 @@ msgid "" "process that created the process object." msgstr "" "Notez que les méthodes :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" -"`terminate` et :attr:`exitcode` ne devraient être appelées que par le " +"`terminate` et :attr:`exitcode` ne doivent être appelées que par le " "processus ayant créé l'objet *process*." #: library/multiprocessing.rst:640 @@ -899,7 +897,7 @@ msgstr "" #: library/multiprocessing.rst:680 msgid "Pipes and Queues" -msgstr "Tubes (*pipes*) et Queues" +msgstr "Tubes (*pipes*) et files (*queues*)" #: library/multiprocessing.rst:682 msgid "" @@ -907,9 +905,9 @@ msgid "" "communication between processes and avoids having to use any synchronization " "primitives like locks." msgstr "" -"Quand de multiples processus sont utilisés, de l'échange de messages est " -"souvent mis en place pour la communication entre processus et éviter d'avoir " -"à utiliser des primitives de synchronisation telles que des verrous." +"Quand plusieurs processus travaillent ensemble, il est souvent nécessaire de " +"les faire communiquer entre eux pour éviter d'avoir à utiliser des " +"primitives de synchronisation comme les verrous." #: library/multiprocessing.rst:686 msgid "" @@ -917,7 +915,7 @@ msgid "" "processes) or a queue (which allows multiple producers and consumers)." msgstr "" "Pour échanger des messages vous pouvez utiliser un :func:`Pipe` (pour une " -"connexion entre deux processus) ou une queue (qui autorise de multiples " +"connexion entre deux processus) ou une file (qui autorise de plusieurs " "producteurs et consommateurs)." #: library/multiprocessing.rst:689 @@ -930,11 +928,11 @@ msgid "" "Queue` class." msgstr "" "Les types :class:`Queue`, :class:`SimpleQueue` et :class:`JoinableQueue` " -"sont des queues :abbr:`FIFO (first-in, first-out)` multi-producteurs et " -"multi-consommateurs modelées sur la classe :class:`queue.Queue` de la " -"bibliothèque standard. Elles diffèrent par l'absence dans :class:`Queue` des " -"méthodes :meth:`~queue.Queue.task_done` et :meth:`~queue.Queue.join` " -"introduites dans la classe :class:`queue.Queue` par Python 2.5." +"sont des files :abbr:`FIFO (first-in, first-out)` multi-producteurs et multi-" +"consommateurs modelées sur la classe :class:`queue.Queue` de la bibliothèque " +"standard. Elles diffèrent par l'absence dans :class:`Queue` des méthodes :" +"meth:`~queue.Queue.task_done` et :meth:`~queue.Queue.join` introduites dans " +"la classe :class:`queue.Queue` par Python 2.5." #: library/multiprocessing.rst:696 msgid "" @@ -944,8 +942,8 @@ msgid "" "overflow, raising an exception." msgstr "" "Si vous utilisez :class:`JoinableQueue` alors vous **devez** appeler :meth:" -"`JoinableQueue.task_done` pour chaque tâche retirée de la queue, sans quoi " -"le sémaphore utilisé pour compter le nombre de tâches non accomplies pourra " +"`JoinableQueue.task_done` pour chaque tâche retirée de la file, sans quoi le " +"sémaphore utilisé pour compter le nombre de tâches non accomplies pourra " "éventuellement déborder, levant une exception." #: library/multiprocessing.rst:701 @@ -953,7 +951,7 @@ msgid "" "Note that one can also create a shared queue by using a manager object -- " "see :ref:`multiprocessing-managers`." msgstr "" -"Notez que vous pouvez aussi créer une queue partagée en utilisant un objet " +"Notez que vous pouvez aussi créer une file partagée en utilisant un objet " "gestionnaire – voir :ref:`multiprocessing-managers`." #: library/multiprocessing.rst:706 @@ -975,12 +973,12 @@ msgid "" "practical difficulties -- if they really bother you then you can instead use " "a queue created with a :ref:`manager `." msgstr "" -"Quand un objet est placé dans une queue, l'objet est sérialisé par *pickle* " +"Quand un objet est placé dans une file, l'objet est sérialisé par *pickle* " "et un fil d'exécution en arrière-plan transmettra ensuite les données " "sérialisées sur un tube sous-jacent. Cela a certaines conséquences qui " -"peuvent être un peu surprenantes, mais ne devrait causer aucune difficultés " -"pratiques – si elles vous embêtent vraiment, alors vous pouvez à la place " -"utiliser une queue créée avec un :ref:`manager `." +"peuvent être un peu surprenantes, mais ne devrait causer aucune difficulté " +"pratique — si elles vous embêtent vraiment, alors vous pouvez à la place " +"utiliser une file créée avec un :ref:`manager `." #: library/multiprocessing.rst:720 msgid "" @@ -988,8 +986,8 @@ msgid "" "delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " "and :meth:`~Queue.get_nowait` can return without raising :exc:`queue.Empty`." msgstr "" -"Après avoir placé un objet dans une queue vide il peut y avoir un délai " -"infinitésimal avant que la méthode :meth:`~Queue.empty` de la queue renvoie :" +"Après avoir placé un objet dans une file vide il peut y avoir un délai " +"infinitésimal avant que la méthode :meth:`~Queue.empty` de la file renvoie :" "const:`False` et que :meth:`~Queue.get_nowait` renvoie une valeur sans lever " "de :exc:`queue.Empty`." @@ -1000,10 +998,10 @@ msgid "" "the same process will always be in the expected order with respect to each " "other." msgstr "" -"Si plusieurs processus placent des objets dans la queue, il est possible " -"pour les objets d'être reçus de l'autre côté dans le désordre. Cependant, " -"les objets placés par un même processus seront toujours récupérés dans " -"l'ordre attendu." +"Si plusieurs processus placent des objets dans la file, il est possible pour " +"les objets d'être reçus de l'autre côté dans le désordre. Cependant, les " +"objets placés par un même processus seront toujours récupérés dans l'ordre " +"d'insertion." #: library/multiprocessing.rst:732 msgid "" @@ -1014,9 +1012,9 @@ msgid "" msgstr "" "Si un processus est tué à l'aide de :meth:`Process.terminate` ou :func:`os." "kill` pendant qu'il tente d'utiliser une :class:`Queue`, alors les données " -"de la queue peuvent être corrompues. Cela peut par la suite causer des " -"levées d'exceptions dans les autres processus quand ils tenteront d'utiliser " -"la queue." +"de la file peuvent être corrompues. Cela peut par la suite causer des levées " +"d'exceptions dans les autres processus quand ils tenteront d'utiliser la " +"file." #: library/multiprocessing.rst:739 msgid "" @@ -1026,7 +1024,7 @@ msgid "" "buffered items have been flushed to the pipe." msgstr "" "Comme mentionné plus haut, si un processus fils a placé des éléments dans la " -"queue (et qu'il n'a pas utilisé :meth:`JoinableQueue.cancel_join_thread " +"file (et qu'il n'a pas utilisé :meth:`JoinableQueue.cancel_join_thread " "`), alors le processus ne se " "terminera pas tant que les éléments placés dans le tampon n'auront pas été " "transmis au tube." @@ -1041,16 +1039,16 @@ msgid "" msgstr "" "Cela signifie que si vous essayez d'attendre ce processus vous pouvez " "obtenir un interblocage, à moins que vous ne soyez sûr que tous les éléments " -"placés dans la queue ont été consommés. De même, si le processus fils n'est " +"placés dans la file ont été consommés. De même, si le processus fils n'est " "pas un *daemon* alors le processus parent pourrait bloquer à la fermeture " -"quand il tentera d'attendre tous ses enfants non *daemons*." +"quand il tentera d'attendre tous ses fils non *daemons*." #: library/multiprocessing.rst:749 msgid "" "Note that a queue created using a manager does not have this issue. See :" "ref:`multiprocessing-programming`." msgstr "" -"Notez que la queue créée à l'aide d'un gestionnaire n'a pas ce problème. " +"Notez que la file créée à l'aide d'un gestionnaire n'a pas ce problème. " "Voir :ref:`multiprocessing-programming`." #: library/multiprocessing.rst:752 @@ -1058,7 +1056,7 @@ msgid "" "For an example of the usage of queues for interprocess communication see :" "ref:`multiprocessing-examples`." msgstr "" -"Pour un exemple d'utilisation de queues pour de la communication entre les " +"Pour un exemple d'utilisation de files pour de la communication entre les " "processus, voir :ref:`multiprocessing-examples`." #: library/multiprocessing.rst:758 @@ -1067,7 +1065,7 @@ msgid "" "Connection` objects representing the ends of a pipe." msgstr "" "Renvoie une paire ``(conn1, conn2)`` d'objets :class:`~multiprocessing." -"connection.Connection` représentant les bouts d'un tube." +"connection.Connection` représentant les extrémités d'un tube." #: library/multiprocessing.rst:762 msgid "" @@ -1086,10 +1084,10 @@ msgid "" "semaphores. When a process first puts an item on the queue a feeder thread " "is started which transfers objects from a buffer into the pipe." msgstr "" -"Renvoie une queue partagée entre les processus utilisant un tube et quelques " -"verrous/sémaphores. Quand un processus place initialement un élément sur la " -"queue, un fil d'exécution *feeder* est démarré pour transférer les objets du " -"tampon vers le tube." +"Renvoie une file partagée entre les processus utilisant un tube et quelques " +"verrous / sémaphores. Quand un processus place initialement un élément sur " +"la file, un fil d'exécution *chargeur* est démarré pour transférer les " +"objets du tampon vers le tube." #: library/multiprocessing.rst:774 msgid "" @@ -1113,7 +1111,7 @@ msgid "" "Return the approximate size of the queue. Because of multithreading/" "multiprocessing semantics, this number is not reliable." msgstr "" -"Renvoie la taille approximative de la queue. Ce nombre n'est pas fiable en " +"Renvoie la taille approximative de la file. Ce nombre n'est pas fiable en " "raison des problématiques de *multithreading* et *multiprocessing*." #: library/multiprocessing.rst:785 @@ -1130,7 +1128,7 @@ msgid "" "Return ``True`` if the queue is empty, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" -"Renvoie ``True`` si la queue est vide, ``False`` sinon. Cette valeur n'est " +"Renvoie ``True`` si la file est vide, ``False`` sinon. Cette valeur n'est " "pas fiable en raison des problématiques de *multithreading* et " "*multiprocessing*." @@ -1139,7 +1137,7 @@ msgid "" "Return ``True`` if the queue is full, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" -"Renvoie ``True`` si la queue est pleine, ``False`` sinon. Cette valeur n'est " +"Renvoie ``True`` si la file est pleine, ``False`` sinon. Cette valeur n'est " "pas fiable en raison des problématiques de *multithreading* et " "*multiprocessing*." @@ -1153,13 +1151,13 @@ msgid "" "an item on the queue if a free slot is immediately available, else raise " "the :exc:`queue.Full` exception (*timeout* is ignored in that case)." msgstr "" -"Place *obj* dans la queue. Si l'argument optionnel *block* vaut ``True`` " -"(par défaut) est que *timeout* est ``None`` (par défaut), bloque jusqu'à ce " -"qu'un slot libre soit disponible. Si *timeout* est un nombre positif, la " -"méthode bloquera au maximum *timeout* secondes et lèvera une exception :exc:" -"`queue.Full` si aucun slot libre n'a été trouvé dans le temps imparti. " -"Autrement (*block* vaut ``False``), place un élément dans la queue si un " -"slot libre est immédiatement disponible, ou lève une exception :exc:`queue." +"Place *obj* dans la file. Si l'argument optionnel *block* vaut ``True`` (par " +"défaut) est que *timeout* est ``None`` (par défaut), bloque jusqu'à ce " +"qu'une place libre soit disponible. Si *timeout* est un nombre positif, la " +"méthode bloquera au maximum *timeout* secondes et lève une exception :exc:" +"`queue.Full` si aucune place libre n'a été trouvée dans le temps imparti. " +"Autrement (*block* vaut ``False``), place un élément dans la file si une " +"place libre est immédiatement disponible, ou lève une exception :exc:`queue." "Full` dans le cas contraire (*timeout* est ignoré dans ce cas)." #: library/multiprocessing.rst:809 @@ -1167,7 +1165,7 @@ msgid "" "If the queue is closed, :exc:`ValueError` is raised instead of :exc:" "`AssertionError`." msgstr "" -"Si la queue a été marquée comme fermée, une :exc:`ValueError` est levée. " +"si la file a été marquée comme fermée, une :exc:`ValueError` est levée. " "Auparavant, une :exc:`AssertionError` était levée." #: library/multiprocessing.rst:815 @@ -1184,22 +1182,21 @@ msgid "" "return an item if one is immediately available, else raise the :exc:`queue." "Empty` exception (*timeout* is ignored in that case)." msgstr "" -"Retire et renvoie un élément de la queue. Si l'argument optionnel *block* " +"Retire et renvoie un élément de la file. Si l'argument optionnel *block* " "vaut ``True`` (par défaut) et que *timeout* est ``None`` (par défaut), " "bloque jusqu'à ce qu'un élément soit disponible. Si *timeout* (le délai " -"maximal autorisé) est un nombre positif, la méthode bloquera au maximum " -"*timeout* secondes et lèvera une exception :exc:`queue.Empty` si aucun " -"élément n'est disponible dans le temps imparti. Autrement (*block* vaut " -"``False``), renvoie un élément s'il est immédiatement disponible, ou lève " -"une exception :exc:`queue.Empty` dans le cas contraire (*timeout* est ignoré " -"dans ce cas)." +"maximal autorisé) est un nombre positif, la méthode bloque au maximum " +"*timeout* secondes et lève une exception :exc:`queue.Empty` si aucun élément " +"n'est disponible dans le temps imparti. Autrement (*block* vaut ``False``), " +"renvoie un élément s'il est immédiatement disponible, ou lève une exception :" +"exc:`queue.Empty` dans le cas contraire (*timeout* est ignoré dans ce cas)." #: library/multiprocessing.rst:827 msgid "" "If the queue is closed, :exc:`ValueError` is raised instead of :exc:" "`OSError`." msgstr "" -"Si la queue a été marquée comme terminée, une :exc:`ValueError` est levée. " +"si la file a été marquée comme terminée, une :exc:`ValueError` est levée. " "Auparavant, une :exc:`OSError`. était levée." #: library/multiprocessing.rst:833 @@ -1222,10 +1219,10 @@ msgid "" "data to the pipe. This is called automatically when the queue is garbage " "collected." msgstr "" -"Indique que plus aucune donnée ne peut être placée sur la queue par le " +"Indique que plus aucune donnée ne peut être placée sur la file par le " "processus courant. Le fil d'exécution en arrière-plan se terminera quand il " "aura transféré toutes les données du tampon vers le tube. Elle est appelée " -"automatiquement quand la queue est collectée par le ramasse-miettes." +"automatiquement quand la file est collectée par le ramasse-miettes." #: library/multiprocessing.rst:848 msgid "" @@ -1244,9 +1241,9 @@ msgid "" "attempt to join the queue's background thread. The process can call :meth:" "`cancel_join_thread` to make :meth:`join_thread` do nothing." msgstr "" -"Par défaut si un processus n'est pas le créateur de la queue alors à la " -"fermeture elle essaiera d'attendre le fil d'exécution d'arrière-plan de la " -"queue. Le processus peut appeler :meth:`cancel_join_thread` pour que :meth:" +"Par défaut si un processus n'est pas le créateur de la file alors à la " +"fermeture elle essaie d'attendre le fil d'exécution d'arrière-plan de la " +"file. Le processus peut appeler :meth:`cancel_join_thread` pour que :meth:" "`join_thread` ne fasse rien." #: library/multiprocessing.rst:858 @@ -1269,10 +1266,9 @@ msgid "" msgstr "" "Un meilleur nom pour cette méthode pourrait être " "``allow_exit_without_flush()``. Cela peut provoquer des pertes de données " -"placées dans la queue, et vous ne devriez certainement pas avoir besoin de " -"l'utiliser. Elle n'est là que si vous souhaitez terminer immédiatement le " -"processus sans transférer les données du tampon, et que vous ne vous " -"inquiétez pas de perdre des données." +"placées dans la file, et il est très rare d'avoir besoin de l'utiliser. Elle " +"n'est là que si vous souhaitez terminer immédiatement le processus sans " +"transférer les données du tampon, et que vous êtes prêt à perdre des données." #: library/multiprocessing.rst:871 msgid "" @@ -1284,11 +1280,11 @@ msgid "" "listed below." msgstr "" "Le fonctionnement de cette classe requiert une implémentation de sémaphore " -"partagé sur le système d'exploitation hôte. Sans cela, la fonctionnalité " -"sera désactivée et la tentative d'instancier une :class:`Queue` lèvera une :" -"exc:`ImportError`. Voir :issue:`3770` pour plus d'informations. Cette " -"remarque reste valable pour les autres types de queues spécialisées définies " -"par la suite." +"partagé sur le système d'exploitation hôte. Sans cela, la fonctionnalité est " +"désactivée et la tentative d'instancier une :class:`Queue` lève une :exc:" +"`ImportError`. Voir :issue:`3770` pour plus d'informations. Cette remarque " +"reste valable pour les autres types de files spécialisées définies par la " +"suite." #: library/multiprocessing.rst:880 msgid "" @@ -1299,35 +1295,35 @@ msgstr "" #: library/multiprocessing.rst:884 msgid "Close the queue: release internal resources." -msgstr "Ferme la queue : libère les ressources internes." +msgstr "Ferme la file : libère les ressources internes." #: library/multiprocessing.rst:886 msgid "" "A queue must not be used anymore after it is closed. For example, :meth:" "`get`, :meth:`put` and :meth:`empty` methods must no longer be called." msgstr "" -"Une queue ne doit plus être utilisée après sa fermeture. Par exemple, les " +"Une file ne doit plus être utilisée après sa fermeture. Par exemple, les " "méthodes :meth:`get`, :meth:`put` et :meth:`empty` ne doivent plus être " "appelées." #: library/multiprocessing.rst:894 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." -msgstr "Renvoie ``True`` si la queue est vide, ``False`` sinon." +msgstr "Renvoie ``True`` si la file est vide, ``False`` sinon." #: library/multiprocessing.rst:898 msgid "Remove and return an item from the queue." -msgstr "Supprime et renvoie un élément de la queue." +msgstr "Supprime et renvoie un élément de la file." #: library/multiprocessing.rst:902 msgid "Put *item* into the queue." -msgstr "Place *item* dans la queue." +msgstr "Place *item* dans la file." #: library/multiprocessing.rst:907 msgid "" ":class:`JoinableQueue`, a :class:`Queue` subclass, is a queue which " "additionally has :meth:`task_done` and :meth:`join` methods." msgstr "" -":class:`JoinableQueue`, une sous-classe de :class:`Queue`, est une queue qui " +":class:`JoinableQueue`, une sous-classe de :class:`Queue`, est une file qui " "ajoute des méthodes :meth:`task_done` et :meth:`join`." #: library/multiprocessing.rst:912 @@ -1337,10 +1333,10 @@ msgid "" "call to :meth:`task_done` tells the queue that the processing on the task is " "complete." msgstr "" -"Indique qu'une tâche précédemment placée dans la queue est complétée. " -"Utilisé par les consommateurs de la queue. Pour chaque :meth:`~Queue.get` " -"utilisé pour récupérer une tâche, un appel ultérieur à :meth:`task_done` " -"indique à la queue que le traitement de la tâche est terminé." +"Indique qu'une tâche précédemment placée dans la file est achevée. Utilisée " +"par les consommateurs de la file. Pour chaque :meth:`~Queue.get` utilisée " +"pour récupérer une tâche, un appel ultérieur à :meth:`task_done` indique à " +"la file que le traitement de la tâche est terminé." #: library/multiprocessing.rst:917 msgid "" @@ -1351,7 +1347,7 @@ msgstr "" "Si un :meth:`~queue.Queue.join` est actuellement bloquant, il se débloquera " "quand tous les éléments auront été traités (signifiant qu'un appel à :meth:" "`task_done` a été reçu pour chaque élément ayant été placé via :meth:`~Queue." -"put` dans la queue)." +"put` dans la file)." #: library/multiprocessing.rst:921 msgid "" @@ -1364,7 +1360,7 @@ msgstr "" #: library/multiprocessing.rst:927 msgid "Block until all items in the queue have been gotten and processed." msgstr "" -"Bloque jusqu'à ce que tous les éléments de la queue aient été récupérés et " +"Bloque jusqu'à ce que tous les éléments de la file aient été récupérés et " "traités." #: library/multiprocessing.rst:929 @@ -1376,7 +1372,7 @@ msgid "" "unblocks." msgstr "" "Le compteur des tâches non accomplies augmente chaque fois qu'un élément est " -"ajouté à la queue. Le compteur redescend chaque fois qu'un consommateur " +"ajouté à la file. Le compteur redescend chaque fois qu'un consommateur " "appelle :meth:`task_done` pour indiquer qu'un élément a été récupéré et que " "tout le travail qui le concerne est complété. Quand le compteur des tâches " "non accomplies atteint zéro, :meth:`~queue.Queue.join` est débloquée." @@ -1387,7 +1383,7 @@ msgstr "Divers" #: library/multiprocessing.rst:941 msgid "Return list of all live children of the current process." -msgstr "Renvoie la liste de tous les enfants vivants du processus courant." +msgstr "Renvoie la liste de tous les fils vivants du processus courant." #: library/multiprocessing.rst:943 msgid "" @@ -1445,8 +1441,8 @@ msgid "" "**PyInstaller** and **cx_Freeze**.)" msgstr "" "Ajoute le support des programmes utilisant :mod:`multiprocessing` qui ont " -"été figés pour produire un exécutable Windows. (Testé avec **py2exe**, " -"**PyInstaller** et **cx_Freeze**.)" +"été figés pour produire un exécutable Windows (testé avec **py2exe**, " +"**PyInstaller** et **cx_Freeze**)." #: library/multiprocessing.rst:979 msgid "" @@ -1462,7 +1458,7 @@ msgid "" "executable will raise :exc:`RuntimeError`." msgstr "" "Si la ligne ``freeze_support()`` est omise, alors tenter de lancer " -"l'exécutable figé lèvera une :exc:`RuntimeError`." +"l'exécutable figé lève une :exc:`RuntimeError`." #: library/multiprocessing.rst:994 msgid "" @@ -1612,8 +1608,8 @@ msgid "" "Send an object to the other end of the connection which should be read " "using :meth:`recv`." msgstr "" -"Envoie un objet sur l'autre bout de la connexion, qui devra être lu avec :" -"meth:`recv`." +"Envoie un objet sur l'autre extrémité de la connexion, qui devra être lu " +"avec :meth:`recv`." #: library/multiprocessing.rst:1087 msgid "" @@ -1630,9 +1626,10 @@ msgid "" "`send`. Blocks until there is something to receive. Raises :exc:`EOFError` " "if there is nothing left to receive and the other end was closed." msgstr "" -"Renvoie un objet envoyé depuis l'autre bout de la connexion en utilisant :" -"meth:`send`. Bloque jusqu'à ce que quelque chose soit reçu. Lève une :exc:" -"`EOFError` s'il n'y a plus rien à recevoir et que l'autre bout a été fermé." +"Renvoie un objet envoyé depuis l'autre extrémité de la connexion en " +"utilisant :meth:`send`. Bloque jusqu'à ce que quelque chose soit reçu. Lève " +"une :exc:`EOFError` s'il n'y a plus rien à recevoir et que l'autre extrémité " +"a été fermée." #: library/multiprocessing.rst:1099 msgid "Return the file descriptor or handle used by the connection." @@ -1698,10 +1695,10 @@ msgid "" "exc:`EOFError` if there is nothing left to receive and the other end has " "closed." msgstr "" -"Renvoie un message complet de données binaires envoyées depuis l'autre bout " -"de la connexion comme une chaîne de caractères. Bloque jusqu'à ce qu'il y " -"ait quelque chose à recevoir. Lève une :exc:`EOFError` s'il ne reste rien à " -"recevoir et que l'autre côté de la connexion a été fermé." +"Renvoie un message complet de données binaires envoyées depuis l'autre " +"extrémité de la connexion comme une chaîne de caractères. Bloque jusqu'à ce " +"qu'il y ait quelque chose à recevoir. Lève une :exc:`EOFError` s'il ne reste " +"rien à recevoir et que l'autre côté de la connexion a été fermé." #: library/multiprocessing.rst:1134 msgid "" @@ -1727,7 +1724,7 @@ msgid "" "nothing left to receive and the other end was closed." msgstr "" "Lit et stocke dans *buffer* un message complet de données binaires envoyées " -"depuis l'autre bout de la connexion et renvoie le nombre d'octets du " +"depuis l'autre extrémité de la connexion et renvoie le nombre d'octets du " "message. Bloque jusqu'à ce qu'il y ait quelque chose à recevoir. Lève une :" "exc:`EOFError` s'il ne reste rien à recevoir et que l'autre côté de la " "connexion a été fermé." @@ -2156,7 +2153,7 @@ msgid "" "inherited by child processes." msgstr "" "Il est possible de créer des objets partagés utilisant une mémoire partagée " -"pouvant être héritée par les processus enfants." +"pouvant être héritée par les processus fils." #: library/multiprocessing.rst:1406 msgid "" @@ -2202,7 +2199,7 @@ msgid "" "insufficient to just do ::" msgstr "" "Les opérations telles que ``+=`` qui impliquent une lecture et une écriture " -"ne sont pas atomique. Ainsi si vous souhaitez par exemple réaliser une " +"ne sont pas atomiques. Ainsi si vous souhaitez par exemple réaliser une " "incrémentation atomique sur une valeur partagée, vous ne pouvez pas " "simplement faire ::" @@ -2539,8 +2536,8 @@ msgid "" msgstr "" "Renvoie un objet :class:`~multiprocessing.managers.SyncManager` démarré qui " "peut être utilisé pour partager des objets entre les processus. L'objet " -"gestionnaire renvoyé correspond à un processus enfant instancié et possède " -"des méthodes pour créer des objets partagés et renvoyer les mandataires " +"gestionnaire renvoyé correspond à un processus fils instancié et possède des " +"méthodes pour créer des objets partagés et renvoyer les mandataires " "correspondants." #: library/multiprocessing.rst:1645 @@ -2926,7 +2923,7 @@ msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" msgstr "" -"Exécuter les commandes suivantes crée un serveur pour une simple queue " +"Exécuter les commandes suivantes crée un serveur pour une file simple " "partagée à laquelle des clients distants peuvent accéder ::" #: library/multiprocessing.rst:1900 @@ -2942,7 +2939,7 @@ msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" msgstr "" -"Les processus locaux peuvent aussi accéder à cette queue, utilisant le code " +"Les processus locaux peuvent aussi accéder à cette file, utilisant le code " "précédent sur le client pour y accéder à distance ::" #: library/multiprocessing.rst:1946 @@ -3256,11 +3253,11 @@ msgid "" "ability to the end user." msgstr "" "Les processus *workers* à l'intérieur d'une :class:`Pool` vivent par défaut " -"aussi longtemps que la queue de travail du pool. Un modèle fréquent chez " +"aussi longtemps que la file de travail du pool. Un modèle fréquent chez " "d'autres systèmes (tels qu'Apache, *mod_wsgi*, etc.) pour libérer les " "ressources détenues par les *workers* est d'autoriser un *worker* dans le " "pool à accomplir seulement une certaine charge de travail avant de se " -"fermer, se retrouvant nettoyé et remplacé par un nouvelle processus " +"fermer, se retrouvant nettoyé et remplacé par un nouveau processus " "fraîchement lancé. L'argument *maxtasksperchild* de :class:`Pool` expose " "cette fonctionnalité à l'utilisateur final." @@ -3277,12 +3274,12 @@ msgstr "" "plus, *func* est exécutée sur un seul des *workers* du pool." #: library/multiprocessing.rst:2177 -#, fuzzy msgid "" "A variant of the :meth:`apply` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." msgstr "" -"Une variante de la méthode :meth:`apply` qui renvoie un objet résultat." +"Une variante de la méthode :meth:`apply` qui renvoie un objet :class:" +"`~multiprocessing.pool.AsyncResult`." #: library/multiprocessing.rst:2180 library/multiprocessing.rst:2211 msgid "" @@ -3346,11 +3343,12 @@ msgstr "" "efficacité." #: library/multiprocessing.rst:2208 -#, fuzzy msgid "" "A variant of the :meth:`.map` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." -msgstr "Une variante de la méthode :meth:`.map` qui renvoie un objet résultat." +msgstr "" +"Une variante de la méthode :meth:`.map` qui renvoie un objet :class:" +"`~multiprocessing.pool.AsyncResult`." #: library/multiprocessing.rst:2225 msgid "A lazier version of :meth:`.map`." @@ -3512,7 +3510,7 @@ msgid "" "class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." msgstr "" "Habituellement l'échange de messages entre processus est réalisé en " -"utilisant des queues ou des objets :class:`~Connection` renvoyés par :func:" +"utilisant des files ou des objets :class:`~Connection` renvoyés par :func:" "`~multiprocessing.Pipe`." #: library/multiprocessing.rst:2348 @@ -3535,8 +3533,8 @@ msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." msgstr "" -"Envoie un message généré aléatoirement à l'autre bout de la connexion et " -"attend une réponse." +"Envoie un message généré aléatoirement à l'autre extrémité de la connexion " +"et attend une réponse." #: library/multiprocessing.rst:2360 msgid "" @@ -3545,8 +3543,9 @@ msgid "" "Otherwise :exc:`~multiprocessing.AuthenticationError` is raised." msgstr "" "Si la réponse correspond au condensat du message avec la clé *authkey*, " -"alors un message de bienvenue est envoyé à l'autre bout de la connexion. " -"Autrement, une :exc:`~multiprocessing.AuthenticationError` est levée." +"alors un message de bienvenue est envoyé à l'autre extrémité de la " +"connexion. Autrement, une :exc:`~multiprocessing.AuthenticationError` est " +"levée." #: library/multiprocessing.rst:2366 msgid "" @@ -3749,7 +3748,7 @@ msgid "" "read from it, or the other end has been closed." msgstr "" "Une connexion (*socket* en anglais) est prête quand il y a des données " -"disponibles en lecture dessus, ou que l'autre bout a été fermé." +"disponibles en lecture dessus, ou que l'autre extrémité a été fermée." #: library/multiprocessing.rst:2470 msgid "" @@ -3816,29 +3815,29 @@ msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." msgstr "" -"Une adresse ``'AF_INET'`` est une paire de la forme ``(hostname, port)`` où " -"*hostname* est une chaîne et *port* un entier." +"une adresse ``'AF_INET'`` est une paire de la forme ``(hostname, port)`` où " +"*hostname* est une chaîne et *port* un entier ;" #: library/multiprocessing.rst:2568 msgid "" "An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." msgstr "" -"Une adresse ``'AF_UNIX'`` est une chaîne représentant un nom de fichier sur " -"le système de fichiers." +"une adresse ``'AF_UNIX'`` est une chaîne représentant un nom de fichier sur " +"le système de fichiers ;" #: library/multiprocessing.rst:2571 -#, fuzzy msgid "" "An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\.\\\\pipe\\" "\\{PipeName}'`. To use :func:`Client` to connect to a named pipe on a " "remote computer called *ServerName* one should use an address of the form :" "samp:`r'\\\\\\\\{ServerName}\\\\pipe\\\\{PipeName}'` instead." msgstr "" -":samp:`r'\\\\\\\\.\\\\pipe\\\\{PipeName}'`. Pour utiliser un :func:`Client` " -"pour se connecter à un tube nommé sur une machine distante appelée " -"*ServerName*, il faut plutôt utiliser une adresse de la forme :samp:`r'\\\\\\" -"\\{ServerName}\\\\pipe\\\\{PipeName}'`." +"une adresse ``'AF_PIPE'`` est une chaîne de caractères de la forme :samp:" +"`r'\\\\\\\\.\\\\pipe\\\\{NomDuTube}'`. Pour utiliser :func:`Client` pour se " +"connecter à un tube nommé sur une machine distante appelée *NomDeLaMachine*, " +"il faut utiliser une adresse de la forme :samp:`r'\\\\\\\\{NomDeLaMachine}\\" +"\\pipe\\\\{NomDuTube}'`." #: library/multiprocessing.rst:2576 msgid "" @@ -3982,7 +3981,7 @@ msgid "" "but is no more than a wrapper around the :mod:`threading` module." msgstr "" ":mod:`multiprocessing.dummy` réplique toute l'API de :mod:`multiprocessing` " -"mais n'est rien de plus qu'un *wrapper* autour du module :mod:`threading`." +"mais n'est rien de plus qu'une interface autour du module :mod:`threading`." #: library/multiprocessing.rst:2666 msgid "" @@ -3991,6 +3990,10 @@ msgid "" "class:`Pool` that supports all the same method calls but uses a pool of " "worker threads rather than worker processes." msgstr "" +"En particulier, la fonction ``Pool`` du module :mod:`multiprocessing.dummy` " +"renvoie une instance de :class:`ThreadPool`, qui est une sous-classe de :" +"class:`Pool`. Elle a la même interface, mais elle utilise un pool de fils " +"d'exécution plutôt qu'un pool de processus." #: library/multiprocessing.rst:2674 msgid "" @@ -4001,20 +4004,27 @@ msgid "" "calling :meth:`~multiprocessing.pool.Pool.close` and :meth:`~multiprocessing." "pool.Pool.terminate` manually." msgstr "" +"Un objet qui contrôle un pool de fils d'exécution auquel des tâches peuvent " +"être envoyées. L'interface des instances de :class:`ThreadPool` est " +"entièrement compatible avec celle des instances de :class:`Pool`, et leur " +"ressources doivent être aussi correctement gérées, soit en utilisant le pool " +"avec un contexte, soit en appelant explicitement :meth:`~multiprocessing." +"pool.Pool.close` et :meth:`~multiprocessing.pool.Pool.terminate`." #: library/multiprocessing.rst:2681 -#, fuzzy msgid "" "*processes* is the number of worker threads to use. If *processes* is " "``None`` then the number returned by :func:`os.cpu_count` is used." msgstr "" -"*processes* est le nombre de processus *workers* à utiliser. Si *processes* " -"est ``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé." +"*processes* est le nombre de fils d'exécution à utiliser. Si *processes* est " +"``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé." #: library/multiprocessing.rst:2687 msgid "" "Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." msgstr "" +"À la différence de :class:`Pool`, *maxtasksperchild* et *context* ne peuvent " +"pas être passés en arguments." #: library/multiprocessing.rst:2691 msgid "" @@ -4025,6 +4035,13 @@ msgid "" "for representing the status of asynchronous jobs, :class:`AsyncResult`, that " "is not understood by any other libraries." msgstr "" +"La classe :class:`ThreadPool` a la même interface que la classe :class:" +"`Pool`, dont l'implémentation repose sur un pool de processus, et a été " +"introduite avant le module :class:`concurrent.futures`. Par conséquent elle " +"implémente des opérations qui n'ont pas vraiment de sens pour un pool " +"implémenté avec des fils d'exécution et possède son propre type pour " +"représenter le statut de tâches asynchrones, :class:`AsyncResult`, qui n'est " +"pas géré par les autres modules." #: library/multiprocessing.rst:2698 msgid "" @@ -4034,6 +4051,11 @@ msgid "" "instances that are compatible with many other libraries, including :mod:" "`asyncio`." msgstr "" +"Il est souvent plus judicieux d'utiliser :class:`concurrent.futures." +"ThreadPoolExecutor` qui a une interface plus simple, qui a été pensée dès " +"l'origine pour les fils d'exécution et qui renvoie des instances de :class:" +"`concurrent.futures.Future` qui sont compatibles avec de nombreux modules, " +"dont :mod:`asyncio`." #: library/multiprocessing.rst:2708 msgid "Programming guidelines" @@ -4044,8 +4066,8 @@ msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`multiprocessing`." msgstr "" -"Il y a certaines lignes directrices et idiomes auxquels il faut adhérer en " -"utilisant :mod:`multiprocessing`." +"Il y a certaines lignes directrices et idiomes à respecter pour utiliser :" +"mod:`multiprocessing`." #: library/multiprocessing.rst:2715 msgid "All start methods" @@ -4064,8 +4086,8 @@ msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." msgstr "" -"Autant que possible, vous devriez éviter de déplacer de larges données entre " -"les processus." +"Autant que possible, il faut éviter de transférer de gros volumes de données " +"entre les processus." #: library/multiprocessing.rst:2724 msgid "" @@ -4073,8 +4095,8 @@ msgid "" "between processes rather than using the lower level synchronization " "primitives." msgstr "" -"Il est probablement meilleur de s'en tenir à l'utilisation de queues et " -"tubes pour la communication entre processus plutôt que d'utiliser des " +"Il est souvent plus judicieux de se borner à utiliser des files et des tubes " +"pour gérer la communication entre processus plutôt que d'utiliser des " "primitives de synchronisation plus bas-niveau." #: library/multiprocessing.rst:2728 @@ -4103,8 +4125,8 @@ msgstr "" msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" -"(Il n'y a jamais de problème avec plusieurs processus utilisant un *même* " -"mandataire.)" +"Il n'y a jamais de problème à avoir plusieurs processus qui utilisent un " +"*même* mandataire." #: library/multiprocessing.rst:2739 msgid "Joining zombie processes" @@ -4124,14 +4146,14 @@ msgstr "" "un zombie. Il ne devrait jamais y en avoir beaucoup parce que chaque fois " "qu'un nouveau processus démarre (ou que :func:`~multiprocessing." "active_children` est appelée) tous les processus complétés qui n'ont pas été " -"attendus le seront. Aussi appeler la méthode :meth:`Process.is_alive " -"` d'un processus terminé attendra le " -"processus. Toutefois il est probablement une bonne pratique d'attendre " +"attendus le sont alors. Appeler la méthode :meth:`Process.is_alive " +"` d'un processus terminé attend aussi le " +"processus. Toutefois, il est, en règle générale, conseillé d'attendre " "explicitement tous les processus que vous démarrez." #: library/multiprocessing.rst:2749 msgid "Better to inherit than pickle/unpickle" -msgstr "Préférez hériter que sérialiser/désérialiser" +msgstr "Mieux vaut hériter que sérialiser - désérialiser" #: library/multiprocessing.rst:2751 msgid "" @@ -4143,12 +4165,12 @@ msgid "" "inherit it from an ancestor process." msgstr "" "Quand vous utilisez les méthodes de démarrage *spawn* ou *forkserver*, de " -"nombreux types de :mod:`multiprocessing` nécessitent d'être sérialisées pour " -"que les processus enfants puissent les utiliser. Cependant, il faut " +"nombreux types de :mod:`multiprocessing` nécessitent d'être sérialisés pour " +"que les processus fils puissent les utiliser. Cependant, il faut " "généralement éviter d'envoyer des objets partagés aux autres processus en " -"utilisant des tubes ou des queues. Vous devriez plutôt vous arranger pour " -"qu'un processus qui nécessite l'accès à une ressource partagée créée autre " -"part qu'il en hérite depuis un de ses processus ancêtres." +"utilisant des tubes ou des files. Vous devez plutôt vous arranger pour qu'un " +"processus qui nécessite l'accès à une ressource partagée créée autre part " +"qu'il en hérite depuis un de ses processus ancêtres." #: library/multiprocessing.rst:2759 msgid "Avoid terminating processes" @@ -4164,7 +4186,7 @@ msgstr "" "Utiliser la méthode :meth:`Process.terminate ` pour stopper un processus risque de casser ou de rendre " "indisponible aux autres processus des ressources partagées (comme des " -"verrous, sémaphores, tubes et queues) actuellement utilisée par le processus." +"verrous, sémaphores, tubes et files) actuellement utilisées par le processus." #: library/multiprocessing.rst:2767 msgid "" @@ -4172,13 +4194,13 @@ msgid "" "terminate ` on processes which never use " "any shared resources." msgstr "" -"Il est donc probablement préférable de n'utiliser :meth:`Process.terminate " +"Il est donc préférable de n'utiliser :meth:`Process.terminate " "` que sur les processus qui n'utilisent " "jamais de ressources partagées." #: library/multiprocessing.rst:2771 msgid "Joining processes that use queues" -msgstr "Attendre les processus qui utilisent des queues" +msgstr "Attendre les processus qui utilisent des files" #: library/multiprocessing.rst:2773 msgid "" @@ -4188,12 +4210,12 @@ msgid "" "cancel_join_thread ` method of the " "queue to avoid this behaviour.)" msgstr "" -"Gardez à l'esprit qu'un processus qui a placé des éléments dans une queue " -"attendra que tous les éléments mis en tampon soient consommés par le fil " -"d'exécution « consommateur » du tube sous-jacent avant de se terminer. (Le " -"processus enfant peut appeler la méthode :meth:`Queue.cancel_join_thread " +"Gardez à l'esprit qu'un processus qui a placé des éléments dans une file " +"attend que tous les éléments mis en tampon soient consommés par le fil " +"d'exécution « chargeur » du tube sous-jacent avant de se terminer (le " +"processus fils peut appeler la méthode :meth:`Queue.cancel_join_thread " "` de la queue pour éviter ce " -"comportement.)" +"comportement)." #: library/multiprocessing.rst:2779 msgid "" @@ -4203,24 +4225,24 @@ msgid "" "put items on the queue will terminate. Remember also that non-daemonic " "processes will be joined automatically." msgstr "" -"Cela signifie que chaque fois que vous utilisez une queue vous devez vous " -"assurer que tous les éléments qui y ont été placés seront effectivement " +"Cela signifie que chaque fois que vous utilisez une file, vous devez vous " +"assurer que tous les éléments qui y ont été placés ont été effectivement " "supprimés avant que le processus ne soit attendu. Autrement vous ne pouvez " -"pas être sûr que les processus qui ont placé des éléments dans la queue se " -"termineront. Souvenez-vous aussi que tous les processus non *daemons* seront " +"pas être sûr que les processus qui ont placé des éléments dans la file se " +"termineront. Souvenez-vous aussi que tous les processus non *daemons* sont " "attendus automatiquement." #: library/multiprocessing.rst:2785 msgid "An example which will deadlock is the following::" -msgstr "L'exemple suivant provoquera un interblocage ::" +msgstr "L'exemple suivant provoque un interblocage ::" #: library/multiprocessing.rst:2799 msgid "" "A fix here would be to swap the last two lines (or simply remove the ``p." "join()`` line)." msgstr "" -"Une solution ici serait d'intervertir les deux dernières lignes (ou " -"simplement supprimer la ligne ``p.join()``)." +"Une solution ici consiste à intervertir les deux dernières lignes (ou " +"simplement à supprimer la ligne ``p.join()``)." #: library/multiprocessing.rst:2802 msgid "Explicitly pass resources to child processes" @@ -4233,7 +4255,7 @@ msgid "" "However, it is better to pass the object as an argument to the constructor " "for the child process." msgstr "" -"Sous Unix en utilisant la méthode de démarrage *fork*, un processus fils " +"Sous Unix, en utilisant la méthode de démarrage *fork*, un processus fils " "peut utiliser une ressource partagée créée par un processus parent en " "utilisant une ressource globale. Cependant, il est préférable de passer " "l'objet en argument au constructeur du processus fils." @@ -4264,7 +4286,7 @@ msgstr "devrait être réécrit comme ::" #: library/multiprocessing.rst:2840 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" -"Faire attention à remplacer :data:`sys.stdin` par un objet « *file-like* »" +"Faire attention à remplacer :data:`sys.stdin` par un objet simili-fichier" #: library/multiprocessing.rst:2842 msgid ":mod:`multiprocessing` originally unconditionally called::" @@ -4289,11 +4311,11 @@ msgid "" msgstr "" "Qui résout le problème fondamental des collisions entre processus provoquant " "des erreurs de mauvais descripteurs de fichiers, mais introduit un potentiel " -"danger pour les applications qui remplacent :func:`sys.stdin` avec un " -"« *file-like object* » ayant une sortie *bufferisée*. Ce danger est que si " -"plusieurs processus appellent :meth:`~io.IOBase.close()` sur cet objet *file-" -"like*, cela peut amener les données à être transmises à l'objet à plusieurs " -"reprises, résultant en une corruption." +"danger pour les applications qui remplacent :func:`sys.stdin` avec un objet " +"simili-fichier ayant une sortie mise en tampon. Ce danger est que si " +"plusieurs processus appellent :meth:`~io.IOBase.close()` sur cet objet, cela " +"peut amener les données à être transmises à l'objet à plusieurs reprises, " +"résultant en une corruption." #: library/multiprocessing.rst:2859 msgid "" @@ -4301,9 +4323,9 @@ msgid "" "it fork-safe by storing the pid whenever you append to the cache, and " "discarding the cache when the pid changes. For example::" msgstr "" -"Si vous écrivez un objet *file-like* et implémentez votre propre cache, vous " -"pouvez le rendre sûr pour les *forks* en stockant le *pid* chaque fois que " -"vous ajoutez des données au cache, et annulez le cache quand le *pip* " +"Si vous écrivez un objet simili-fichier et implémentez votre propre cache, " +"vous pouvez le rendre sûr pour les *forks* en stockant le *pid* chaque fois " +"que vous ajoutez des données au cache, et annulez le cache quand le *pid* " "change. Par exemple ::" #: library/multiprocessing.rst:2871 @@ -4325,7 +4347,7 @@ msgstr "" #: library/multiprocessing.rst:2879 msgid "More picklability" -msgstr "Plus de sérialisation" +msgstr "Contraintes supplémentaires sur la sérialisation" #: library/multiprocessing.rst:2881 msgid "" @@ -4367,7 +4389,7 @@ msgstr "" #: library/multiprocessing.rst:2896 msgid "Safe importing of main module" -msgstr "Importation sûre du module principal" +msgstr "Importation sécurisée du module principal" #: library/multiprocessing.rst:2898 msgid "" @@ -4416,8 +4438,8 @@ msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." msgstr "" -"Des restrictions similaires s'appliquent si une *pool* ou un gestionnaire " -"est créé dans le module principal." +"Des restrictions similaires s'appliquent si un pool ou un gestionnaire est " +"créé dans le module principal." #: library/multiprocessing.rst:2941 msgid "Examples" @@ -4438,7 +4460,7 @@ msgid "" "An example showing how to use queues to feed tasks to a collection of worker " "processes and collect the results:" msgstr "" -"Un exemple montrant comment utiliser des queues pour alimenter en tâches une " +"Un exemple montrant comment utiliser des files pour alimenter en tâches une " "collection de processus *workers* et collecter les résultats :" #~ msgid "An ``'AF_PIPE'`` address is a string of the form" diff --git a/library/multiprocessing.shared_memory.po b/library/multiprocessing.shared_memory.po index 760c4d08..a191d71f 100644 --- a/library/multiprocessing.shared_memory.po +++ b/library/multiprocessing.shared_memory.po @@ -7,7 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-08-24 09:01+0200\n" "PO-Revision-Date: 2019-09-04 11:44+0200\n" -"Last-Translator: FULL NAME \n" +"Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -310,8 +310,8 @@ msgid "" "slicing." msgstr "" "Construit un objet muable compatible avec le type liste dont toutes les " -"valeurs sont stockées dans un bloc de mémoire partagée. Ceci réduit le type " -"les valeurs pouvant être stockées aux types natifs ``int``, ``float``, " +"valeurs sont stockées dans un bloc de mémoire partagée. Ceci limite le type " +"des valeurs pouvant être stockées aux types natifs ``int``, ``float``, " "``bool``, ``str`` (de moins de 10 Mo chacune), ``bytes`` (de moins de 10 Mo " "chacun) et ``None``. Une autre différence majeure avec une ``list`` native " "réside dans le fait qu'il est impossible de changer la taille (c.-à-d. pas "