# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" "PO-Revision-Date: 2021-10-30 12:59+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.3\n" #: library/multiprocessing.shared_memory.rst:2 #, fuzzy msgid "" ":mod:`multiprocessing.shared_memory` --- Shared memory for direct access " "across processes" msgstr "" ":mod:`multiprocessing.shared_memory` — Mémoire partagée en accès direct " "depuis plusieurs processus" #: library/multiprocessing.shared_memory.rst:7 msgid "**Source code:** :source:`Lib/multiprocessing/shared_memory.py`" msgstr "**Code source :** :source:`Lib/multiprocessing/shared_memory.py`" #: library/multiprocessing.shared_memory.rst:18 msgid "" "This module provides a class, :class:`SharedMemory`, for the allocation and " "management of shared memory to be accessed by one or more processes on a " "multicore or symmetric multiprocessor (SMP) machine. To assist with the " "life-cycle management of shared memory especially across distinct processes, " "a :class:`~multiprocessing.managers.BaseManager` subclass, :class:" "`SharedMemoryManager`, is also provided in the ``multiprocessing.managers`` " "module." msgstr "" "Ce module fournit une classe, :class:`SharedMemory`, pour l'allocation et la " "gestion de mémoire partagée entre un ou plusieurs processus sur une machine " "à plusieurs cœurs ou à multiprocesseurs (architecture *symmetric " "multiprocessor* ou SMP). Pour faciliter la gestion du cycle de vie de la " "mémoire partagée, tout particulièrement entre plusieurs processus, le module " "``multiprocessing.managers`` fournit aussi la classe :class:" "`~multiprocessing.managers.SharedMemoryManager`, sous-classe de :class:" "`BaseManager`." #: library/multiprocessing.shared_memory.rst:26 msgid "" "In this module, shared memory refers to \"System V style\" shared memory " "blocks (though is not necessarily implemented explicitly as such) and does " "not refer to \"distributed shared memory\". This style of shared memory " "permits distinct processes to potentially read and write to a common (or " "shared) region of volatile memory. Processes are conventionally limited to " "only have access to their own process memory space but shared memory permits " "the sharing of data between processes, avoiding the need to instead send " "messages between processes containing that data. Sharing data directly via " "memory can provide significant performance benefits compared to sharing data " "via disk or socket or other communications requiring the serialization/" "deserialization and copying of data." msgstr "" "Dans ce module, il faut entendre « mémoire partagée » au sens de « blocs de " "mémoire partagée à la mode System V » (même si l'implémentation peut " "différer), et non au sens de « mémoire distribuée ». Ce type de mémoire " "partagée permet à plusieurs processus d'écrire dans une zone commune (ou " "« partagée ») de la mémoire vive. Normalement, les processus n'ont accès " "qu'à leur propre espace mémoire ; la mémoire partagée permet justement le " "partage de données entre des processus, ce qui leur évite d'avoir à " "s'envoyer ces données par message. Échanger des données par mémoire partagée " "peut amener des gains de performance substantiels par rapport aux échanges " "via le disque dur, des connecteurs ou d'autres canaux qui nécessitent de " "sérialiser et de désérialiser les données." #: library/multiprocessing.shared_memory.rst:41 msgid "" "Creates a new shared memory block or attaches to an existing shared memory " "block. Each shared memory block is assigned a unique name. In this way, one " "process can create a shared memory block with a particular name and a " "different process can attach to that same shared memory block using that " "same name." msgstr "" "Crée un nouveau bloc de mémoire partagée ou enregistre un bloc déjà " "existant. Un nom unique doit être donné à chaque bloc de mémoire partagée ; " "ainsi, un processus peut créer un nouveau bloc de mémoire partagée avec un " "nom fixé et un autre processus peut enregistrer le même bloc, à partir de " "son nom." #: library/multiprocessing.shared_memory.rst:47 msgid "" "As a resource for sharing data across processes, shared memory blocks may " "outlive the original process that created them. When one process no longer " "needs access to a shared memory block that might still be needed by other " "processes, the :meth:`close()` method should be called. When a shared memory " "block is no longer needed by any process, the :meth:`unlink()` method should " "be called to ensure proper cleanup." msgstr "" "Puisque qu'il permet de partager des données entre processus, un bloc de " "mémoire partagée peut survivre au processus qui l'a créé. Lorsqu'un " "processus n'a plus besoin d'un bloc — qui peut toujours être en cours " "d'utilisation par un autre — il doit appeler la méthode :meth:`close()`. " "Quand tous les processus ont fini d'utiliser ce bloc, il faut appeler la " "méthode :meth:`unlink()` pour le libérer." #: library/multiprocessing.shared_memory.rst:54 msgid "" "*name* is the unique name for the requested shared memory, specified as a " "string. When creating a new shared memory block, if ``None`` (the default) " "is supplied for the name, a novel name will be generated." msgstr "" "*name* est le nom (une chaîne de caractères) unique de la mémoire partagée à " "allouer. Lors de la création d'un nouveau bloc mémoire, si ``None`` (valeur " "par défaut) est passé comme nom, un nouveau nom est généré." #: library/multiprocessing.shared_memory.rst:58 msgid "" "*create* controls whether a new shared memory block is created (``True``) or " "an existing shared memory block is attached (``False``)." msgstr "" "*create* indique si un nouveau bloc doit être alloué (``True``) ou si on " "enregistre un bloc déjà existant (``False``)." #: library/multiprocessing.shared_memory.rst:61 msgid "" "*size* specifies the requested number of bytes when creating a new shared " "memory block. Because some platforms choose to allocate chunks of memory " "based upon that platform's memory page size, the exact size of the shared " "memory block may be larger or equal to the size requested. When attaching " "to an existing shared memory block, the ``size`` parameter is ignored." msgstr "" "*size* définit le nombre d'octets à allouer. Comme certaines plates-formes " "choisissent d'allouer les blocs mémoire en multiples de la taille de la page " "mémoire de la plate-forme, la taille réellement allouée peut être supérieure " "à la taille demandée. Lors de l'enregistrement d'un bloc déjà existant, le " "paramètre ``size`` est ignoré." #: library/multiprocessing.shared_memory.rst:69 msgid "" "Closes access to the shared memory from this instance. In order to ensure " "proper cleanup of resources, all instances should call ``close()`` once the " "instance is no longer needed. Note that calling ``close()`` does not cause " "the shared memory block itself to be destroyed." msgstr "" "Empêche les accès ultérieurs à la mémoire partagée depuis cette instance ; " "toutes les instances doivent appeler ``close()`` pour s'assurer que les " "ressources sont bien libérées. Notez qu'appeler ``close()`` ne libère pas la " "mémoire elle-même." #: library/multiprocessing.shared_memory.rst:77 msgid "" "Requests that the underlying shared memory block be destroyed. In order to " "ensure proper cleanup of resources, ``unlink()`` should be called once (and " "only once) across all processes which have need for the shared memory " "block. After requesting its destruction, a shared memory block may or may " "not be immediately destroyed and this behavior may differ across platforms. " "Attempts to access data inside the shared memory block after ``unlink()`` " "has been called may result in memory access errors. Note: the last process " "relinquishing its hold on a shared memory block may call ``unlink()`` and :" "meth:`close()` in either order." msgstr "" "Initie la libération de la mémoire partagée sous-jacente. Pour être sûr que " "les ressources sont libérées correctement, ``unlink()`` doit être appelée " "une (et une seule) fois par tous les processus qui ont utilisé le bloc " "partagé. Après avoir initié la destruction d'un bloc mémoire, le bloc peut " "ne pas être détruit immédiatement ; ce comportement dépend de la plate-" "forme. Accéder aux données d'un bloc de mémoire partagée après l'appel à " "``unlink()`` peut provoquer une erreur mémoire. Notez que le dernier " "processus à libérer le bloc mémoire de mémoire partagée peut appeler " "``unlink()`` et :meth:`close()` dans n'importe quel ordre." #: library/multiprocessing.shared_memory.rst:90 msgid "A memoryview of contents of the shared memory block." msgstr "Une *memoryview* du contenu du bloc de mémoire partagée." #: library/multiprocessing.shared_memory.rst:94 msgid "Read-only access to the unique name of the shared memory block." msgstr "Nom unique du bloc de mémoire partagée (lecture seule)." #: library/multiprocessing.shared_memory.rst:98 msgid "Read-only access to size in bytes of the shared memory block." msgstr "Taille en octets du bloc de mémoire partagée (lecture seule)." #: library/multiprocessing.shared_memory.rst:101 msgid "" "The following example demonstrates low-level use of :class:`SharedMemory` " "instances::" msgstr "" "L'exemple qui suit montre un exemple d'utilisation bas niveau d'instances " "de :class:`SharedMemory` ::" #: library/multiprocessing.shared_memory.rst:127 #, fuzzy msgid "" "The following example demonstrates a practical use of the :class:" "`SharedMemory` class with `NumPy arrays `_, accessing " "the same ``numpy.ndarray`` from two distinct Python shells:" msgstr "" "Le code qui suit est un exemple d'utilisation réel de la classe :class:" "`SharedMemory` avec des `tableaux NumPy `_ qui " "accèdent au même ``numpy.ndarray`` depuis deux invites Python différentes :" #: library/multiprocessing.shared_memory.rst:181 msgid "" "A subclass of :class:`~multiprocessing.managers.BaseManager` which can be " "used for the management of shared memory blocks across processes." msgstr "" "Une sous-classe de :class:`~multiprocessing.managers.BaseManager` pour gérer " "des blocs de mémoire partagée entre processus." #: library/multiprocessing.shared_memory.rst:184 msgid "" "A call to :meth:`~multiprocessing.managers.BaseManager.start` on a :class:" "`SharedMemoryManager` instance causes a new process to be started. This new " "process's sole purpose is to manage the life cycle of all shared memory " "blocks created through it. To trigger the release of all shared memory " "blocks managed by that process, call :meth:`~multiprocessing.managers." "BaseManager.shutdown()` on the instance. This triggers a :meth:`SharedMemory." "unlink()` call on all of the :class:`SharedMemory` objects managed by that " "process and then stops the process itself. By creating ``SharedMemory`` " "instances through a ``SharedMemoryManager``, we avoid the need to manually " "track and trigger the freeing of shared memory resources." msgstr "" "Un appel à :meth:`~multiprocessing.managers.BaseManager.start` depuis une " "instance :class:`SharedMemoryManager` lance un nouveau processus dont le " "seul but est de gérer le cycle de vie des blocs mémoires qu'il a créés. La " "méthode :meth:`~multiprocessing.managers.BaseManager.shutdown()` de " "l'instance déclenche la libération de tous les blocs mémoires gérés par ce " "processus. Elle appelle :meth:`SharedMemory.unlink()` sur tous les objets :" "class:`SharedMemory` gérés par ce processus et l'arrête ensuite. Créer des " "instances de ``SharedMemory`` par l'intermédiaire d'un " "``SharedMemoryManager`` évite d'avoir à gérer et à libérer manuellement les " "ressources mémoire partagées." #: library/multiprocessing.shared_memory.rst:196 msgid "" "This class provides methods for creating and returning :class:`SharedMemory` " "instances and for creating a list-like object (:class:`ShareableList`) " "backed by shared memory." msgstr "" "Cette classe fournit des méthodes pour créer et renvoyer des instances de :" "class:`SharedMemory` et pour créer des objets compatibles liste (:class:" "`ShareableList`) basés sur la mémoire partagée." #: library/multiprocessing.shared_memory.rst:200 msgid "" "Refer to :class:`multiprocessing.managers.BaseManager` for a description of " "the inherited *address* and *authkey* optional input arguments and how they " "may be used to connect to an existing ``SharedMemoryManager`` service from " "other processes." msgstr "" "Référez-vous à :class:`multiprocessing.managers.BaseManager` pour la " "description des arguments optionnels hérités *address* et *authkey*, et " "comment ceux-ci doivent être utilisés pour enregistrer un service de " "``SharedMemoryManager`` depuis un autre processus." #: library/multiprocessing.shared_memory.rst:207 msgid "" "Create and return a new :class:`SharedMemory` object with the specified " "``size`` in bytes." msgstr "" "Crée et renvoie un nouvel objet :class:`SharedMemory` de taille ``size`` " "octets." #: library/multiprocessing.shared_memory.rst:212 msgid "" "Create and return a new :class:`ShareableList` object, initialized by the " "values from the input ``sequence``." msgstr "" "Crée et renvoie un nouvel objet :class:`ShareableList`, initialisé à partir " "des valeurs de la ``sequence`` en entrée." #: library/multiprocessing.shared_memory.rst:216 msgid "" "The following example demonstrates the basic mechanisms of a :class:" "`SharedMemoryManager`:" msgstr "" "L'exemple qui suit illustre les mécanismes de base de :class:" "`SharedMemoryManager` :" #: library/multiprocessing.shared_memory.rst:234 msgid "" "The following example depicts a potentially more convenient pattern for " "using :class:`SharedMemoryManager` objects via the :keyword:`with` statement " "to ensure that all shared memory blocks are released after they are no " "longer needed:" msgstr "" "L'exemple suivant montre comment utiliser un objet :class:" "`SharedMemoryManager` avec l'instruction :keyword:`with` pour être sûr que " "tous les blocs mémoire sont libérés quand ils ne sont plus nécessaires. " "C'est souvent plus pratique que l'exemple précédent :" #: library/multiprocessing.shared_memory.rst:253 msgid "" "When using a :class:`SharedMemoryManager` in a :keyword:`with` statement, " "the shared memory blocks created using that manager are all released when " "the :keyword:`with` statement's code block finishes execution." msgstr "" "Lors de l'utilisation d'un :class:`SharedMemoryManager` dans une " "instruction :keyword:`with`, les blocs de mémoire partagée créés par ce " "gestionnaire sont tous libérés quand les instructions à l'intérieur du bloc :" "keyword:`with` ont été exécutées." #: library/multiprocessing.shared_memory.rst:260 msgid "" "Provides a mutable list-like object where all values stored within are " "stored in a shared memory block. This constrains storable values to only " "the ``int``, ``float``, ``bool``, ``str`` (less than 10M bytes each), " "``bytes`` (less than 10M bytes each), and ``None`` built-in data types. It " "also notably differs from the built-in ``list`` type in that these lists can " "not change their overall length (i.e. no append, insert, etc.) and do not " "support the dynamic creation of new :class:`ShareableList` instances via " "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 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 " "d'ajout en fin de liste, ni d'insertion etc.) et qu'il n'est pas possible de " "créer de nouvelles instances de :class:`ShareableList` par découpage." #: library/multiprocessing.shared_memory.rst:269 msgid "" "*sequence* is used in populating a new ``ShareableList`` full of values. Set " "to ``None`` to instead attach to an already existing ``ShareableList`` by " "its unique shared memory name." msgstr "" "*sequence* sert à créer une nouvelle ``ShareableList`` avec des valeurs. " "Mettez-le à ``None`` pour enregistrer une ``ShareableList`` déjà existante, " "en renseignant son nom unique." #: library/multiprocessing.shared_memory.rst:273 msgid "" "*name* is the unique name for the requested shared memory, as described in " "the definition for :class:`SharedMemory`. When attaching to an existing " "``ShareableList``, specify its shared memory block's unique name while " "leaving ``sequence`` set to ``None``." msgstr "" "*name* est le nom unique de la mémoire partagée demandée, tel que décrit " "dans la définition de :class:`SharedMemory`. Pour enregistrer une " "``ShareableList`` déjà existante, renseignez le nom unique du bloc de " "mémoire partagée et laissez ``sequence`` à ``None``." #: library/multiprocessing.shared_memory.rst:280 msgid "Returns the number of occurrences of ``value``." msgstr "Renvoie le nombre d’occurrences de ``value``." #: library/multiprocessing.shared_memory.rst:284 msgid "" "Returns first index position of ``value``. Raises :exc:`ValueError` if " "``value`` is not present." msgstr "" "Renvoie l'indice de la première occurrence de ``value``. Lève une :exc:" "`ValueError` si ``value`` n'est pas présent." #: library/multiprocessing.shared_memory.rst:289 msgid "" "Read-only attribute containing the :mod:`struct` packing format used by all " "currently stored values." msgstr "" "Attribut en lecture seule contenant le format d’agrégation :mod:`struct` " "utilisé par les valeurs déjà stockées." #: library/multiprocessing.shared_memory.rst:294 msgid "The :class:`SharedMemory` instance where the values are stored." msgstr "" "Instance de :class:`SharedMemory` dans laquelle les valeurs sont stockées." #: library/multiprocessing.shared_memory.rst:297 msgid "" "The following example demonstrates basic use of a :class:`ShareableList` " "instance:" msgstr "" "L'exemple qui suit illustre un cas d'usage de base d'une instance de :class:" "`ShareableList` :" #: library/multiprocessing.shared_memory.rst:330 msgid "" "The following example depicts how one, two, or many processes may access the " "same :class:`ShareableList` by supplying the name of the shared memory block " "behind it:" msgstr "" "L'exemple ci-dessous montre comment un, deux ou un grand nombre de processus " "peuvent accéder à une :class:`ShareableList` commune à partir du nom du bloc " "mémoire partagé sous-jacent :" #: library/multiprocessing.shared_memory.rst:345 msgid "" "The following examples demonstrates that ``ShareableList`` (and underlying " "``SharedMemory``) objects can be pickled and unpickled if needed. Note, that " "it will still be the same shared object. This happens, because the " "deserialized object has the same unique name and is just attached to an " "existing object with the same name (if the object is still alive):" msgstr "" "L'exemple ci-dessous montre comment une ``ShareableList`` (et le " "``SharedMemory`` sous-jacent) peut être sérialisée et désérialisée. Gardez " "bien à l'esprit que c'est toujours le même objet, car l'objet désérialisé a " "le même nom unique et est tout simplement attaché à un objet déjà existant " "du même nom (si cet objet est toujours en vie)."