# 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: 2018-10-15 00:46+0200\n" "Last-Translator: FULL NAME \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" #: library/asyncio-sync.rst:7 #, fuzzy msgid "Synchronization Primitives" msgstr "Primitives de synchronisation" #: library/asyncio-sync.rst:9 msgid "**Source code:** :source:`Lib/asyncio/locks.py`" msgstr "" #: library/asyncio-sync.rst:13 msgid "" "asyncio synchronization primitives are designed to be similar to those of " "the :mod:`threading` module with two important caveats:" msgstr "" #: library/asyncio-sync.rst:16 msgid "" "asyncio primitives are not thread-safe, therefore they should not be used " "for OS thread synchronization (use :mod:`threading` for that);" msgstr "" #: library/asyncio-sync.rst:20 msgid "" "methods of these synchronization primitives do not accept the *timeout* " "argument; use the :func:`asyncio.wait_for` function to perform operations " "with timeouts." msgstr "" #: library/asyncio-sync.rst:24 msgid "asyncio has the following basic synchronization primitives:" msgstr "" #: library/asyncio-sync.rst:26 msgid ":class:`Lock`" msgstr ":class:`Lock`" #: library/asyncio-sync.rst:27 msgid ":class:`Event`" msgstr ":class:`Event`" #: library/asyncio-sync.rst:28 msgid ":class:`Condition`" msgstr ":class:`Condition`" #: library/asyncio-sync.rst:29 msgid ":class:`Semaphore`" msgstr ":class:`Semaphore`" #: library/asyncio-sync.rst:30 msgid ":class:`BoundedSemaphore`" msgstr ":class:`BoundedSemaphore`" #: library/asyncio-sync.rst:31 #, fuzzy msgid ":class:`Barrier`" msgstr ":class:`Semaphore`" #: library/asyncio-sync.rst:38 msgid "Lock" msgstr "" #: library/asyncio-sync.rst:42 msgid "Implements a mutex lock for asyncio tasks. Not thread-safe." msgstr "" #: library/asyncio-sync.rst:44 msgid "" "An asyncio lock can be used to guarantee exclusive access to a shared " "resource." msgstr "" #: library/asyncio-sync.rst:47 msgid "The preferred way to use a Lock is an :keyword:`async with` statement::" msgstr "" #: library/asyncio-sync.rst:199 library/asyncio-sync.rst:298 msgid "which is equivalent to::" msgstr "" #: library/asyncio-sync.rst:112 library/asyncio-sync.rst:286 #: library/asyncio-sync.rst:341 #, fuzzy msgid "Removed the *loop* parameter." msgstr "Le paramètre *loop*." #: library/asyncio-sync.rst:72 msgid "Acquire the lock." msgstr "" #: library/asyncio-sync.rst:74 msgid "" "This method waits until the lock is *unlocked*, sets it to *locked* and " "returns ``True``." msgstr "" #: library/asyncio-sync.rst:77 msgid "" "When more than one coroutine is blocked in :meth:`acquire` waiting for the " "lock to be unlocked, only one coroutine eventually proceeds." msgstr "" #: library/asyncio-sync.rst:81 msgid "" "Acquiring a lock is *fair*: the coroutine that proceeds will be the first " "coroutine that started waiting on the lock." msgstr "" #: library/asyncio-sync.rst:86 msgid "Release the lock." msgstr "Libère un verrou." #: library/asyncio-sync.rst:88 msgid "When the lock is *locked*, reset it to *unlocked* and return." msgstr "" #: library/asyncio-sync.rst:90 msgid "If the lock is *unlocked*, a :exc:`RuntimeError` is raised." msgstr "" #: library/asyncio-sync.rst:94 msgid "Return ``True`` if the lock is *locked*." msgstr "Donne ``True`` si le verrou est verrouillé." #: library/asyncio-sync.rst:98 msgid "Event" msgstr "" #: library/asyncio-sync.rst:102 msgid "An event object. Not thread-safe." msgstr "" #: library/asyncio-sync.rst:104 msgid "" "An asyncio event can be used to notify multiple asyncio tasks that some " "event has happened." msgstr "" #: library/asyncio-sync.rst:107 msgid "" "An Event object manages an internal flag that can be set to *true* with the :" "meth:`~Event.set` method and reset to *false* with the :meth:`clear` " "method. The :meth:`~Event.wait` method blocks until the flag is set to " "*true*. The flag is set to *false* initially." msgstr "" #: library/asyncio-sync.rst:365 msgid "Example::" msgstr "Exemple ::" #: library/asyncio-sync.rst:142 msgid "Wait until the event is set." msgstr "Attend que l'évènement ait une valeur." #: library/asyncio-sync.rst:144 msgid "" "If the event is set, return ``True`` immediately. Otherwise block until " "another task calls :meth:`~Event.set`." msgstr "" #: library/asyncio-sync.rst:149 msgid "Set the event." msgstr "" #: library/asyncio-sync.rst:151 msgid "All tasks waiting for event to be set will be immediately awakened." msgstr "" #: library/asyncio-sync.rst:156 msgid "Clear (unset) the event." msgstr "" #: library/asyncio-sync.rst:158 msgid "" "Tasks awaiting on :meth:`~Event.wait` will now block until the :meth:`~Event." "set` method is called again." msgstr "" #: library/asyncio-sync.rst:163 msgid "Return ``True`` if the event is set." msgstr "Renvoie ``True`` si l'évènement a une valeur." #: library/asyncio-sync.rst:167 msgid "Condition" msgstr "" #: library/asyncio-sync.rst:171 msgid "A Condition object. Not thread-safe." msgstr "" #: library/asyncio-sync.rst:173 msgid "" "An asyncio condition primitive can be used by a task to wait for some event " "to happen and then get exclusive access to a shared resource." msgstr "" #: library/asyncio-sync.rst:177 msgid "" "In essence, a Condition object combines the functionality of an :class:" "`Event` and a :class:`Lock`. It is possible to have multiple Condition " "objects share one Lock, which allows coordinating exclusive access to a " "shared resource between different tasks interested in particular states of " "that shared resource." msgstr "" #: library/asyncio-sync.rst:183 msgid "" "The optional *lock* argument must be a :class:`Lock` object or ``None``. In " "the latter case a new Lock object is created automatically." msgstr "" #: library/asyncio-sync.rst:190 msgid "" "The preferred way to use a Condition is an :keyword:`async with` statement::" msgstr "" #: library/asyncio-sync.rst:212 msgid "Acquire the underlying lock." msgstr "" #: library/asyncio-sync.rst:214 msgid "" "This method waits until the underlying lock is *unlocked*, sets it to " "*locked* and returns ``True``." msgstr "" #: library/asyncio-sync.rst:219 msgid "" "Wake up at most *n* tasks (1 by default) waiting on this condition. The " "method is no-op if no tasks are waiting." msgstr "" #: library/asyncio-sync.rst:237 msgid "" "The lock must be acquired before this method is called and released shortly " "after. If called with an *unlocked* lock a :exc:`RuntimeError` error is " "raised." msgstr "" #: library/asyncio-sync.rst:228 msgid "Return ``True`` if the underlying lock is acquired." msgstr "" #: library/asyncio-sync.rst:232 msgid "Wake up all tasks waiting on this condition." msgstr "" #: library/asyncio-sync.rst:234 msgid "This method acts like :meth:`notify`, but wakes up all waiting tasks." msgstr "" #: library/asyncio-sync.rst:243 msgid "Release the underlying lock." msgstr "Libère le verrou sous-jacent." #: library/asyncio-sync.rst:245 msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." msgstr "" #: library/asyncio-sync.rst:250 msgid "Wait until notified." msgstr "Attends d'être notifié." #: library/asyncio-sync.rst:252 msgid "" "If the calling task has not acquired the lock when this method is called, a :" "exc:`RuntimeError` is raised." msgstr "" #: library/asyncio-sync.rst:255 msgid "" "This method releases the underlying lock, and then blocks until it is " "awakened by a :meth:`notify` or :meth:`notify_all` call. Once awakened, the " "Condition re-acquires its lock and this method returns ``True``." msgstr "" #: library/asyncio-sync.rst:262 msgid "Wait until a predicate becomes *true*." msgstr "Attends jusqu'à ce qu'un prédicat devienne vrai." #: library/asyncio-sync.rst:264 msgid "" "The predicate must be a callable which result will be interpreted as a " "boolean value. The final value is the return value." msgstr "" #: library/asyncio-sync.rst:270 msgid "Semaphore" msgstr "Sémaphore" #: library/asyncio-sync.rst:274 msgid "A Semaphore object. Not thread-safe." msgstr "" #: library/asyncio-sync.rst:276 msgid "" "A semaphore manages an internal counter which is decremented by each :meth:" "`acquire` call and incremented by each :meth:`release` call. The counter can " "never go below zero; when :meth:`acquire` finds that it is zero, it blocks, " "waiting until some task calls :meth:`release`." msgstr "" #: library/asyncio-sync.rst:282 msgid "" "The optional *value* argument gives the initial value for the internal " "counter (``1`` by default). If the given value is less than ``0`` a :exc:" "`ValueError` is raised." msgstr "" #: library/asyncio-sync.rst:289 msgid "" "The preferred way to use a Semaphore is an :keyword:`async with` statement::" msgstr "" #: library/asyncio-sync.rst:311 msgid "Acquire a semaphore." msgstr "" #: library/asyncio-sync.rst:313 msgid "" "If the internal counter is greater than zero, decrement it by one and return " "``True`` immediately. If it is zero, wait until a :meth:`release` is called " "and return ``True``." msgstr "" #: library/asyncio-sync.rst:319 msgid "Returns ``True`` if semaphore can not be acquired immediately." msgstr "" #: library/asyncio-sync.rst:323 msgid "" "Release a semaphore, incrementing the internal counter by one. Can wake up a " "task waiting to acquire the semaphore." msgstr "" #: library/asyncio-sync.rst:326 msgid "" "Unlike :class:`BoundedSemaphore`, :class:`Semaphore` allows making more " "``release()`` calls than ``acquire()`` calls." msgstr "" #: library/asyncio-sync.rst:331 msgid "BoundedSemaphore" msgstr "BoundedSemaphore" #: library/asyncio-sync.rst:335 msgid "A bounded semaphore object. Not thread-safe." msgstr "" #: library/asyncio-sync.rst:337 msgid "" "Bounded Semaphore is a version of :class:`Semaphore` that raises a :exc:" "`ValueError` in :meth:`~Semaphore.release` if it increases the internal " "counter above the initial *value*." msgstr "" #: library/asyncio-sync.rst:346 msgid "Barrier" msgstr "" #: library/asyncio-sync.rst:350 msgid "A barrier object. Not thread-safe." msgstr "" #: library/asyncio-sync.rst:352 msgid "" "A barrier is a simple synchronization primitive that allows to block until " "*parties* number of tasks are waiting on it. Tasks can wait on the :meth:" "`~Barrier.wait` method and would be blocked until the specified number of " "tasks end up waiting on :meth:`~Barrier.wait`. At that point all of the " "waiting tasks would unblock simultaneously." msgstr "" #: library/asyncio-sync.rst:358 msgid "" ":keyword:`async with` can be used as an alternative to awaiting on :meth:" "`~Barrier.wait`." msgstr "" #: library/asyncio-sync.rst:361 msgid "The barrier can be reused any number of times." msgstr "" #: library/asyncio-sync.rst:388 msgid "Result of this example is::" msgstr "" #: library/asyncio-sync.rst:399 msgid "" "Pass the barrier. When all the tasks party to the barrier have called this " "function, they are all unblocked simultaneously." msgstr "" #: library/asyncio-sync.rst:402 msgid "" "When a waiting or blocked task in the barrier is cancelled, this task exits " "the barrier which stays in the same state. If the state of the barrier is " "\"filling\", the number of waiting task decreases by 1." msgstr "" #: library/asyncio-sync.rst:407 msgid "" "The return value is an integer in the range of 0 to ``parties-1``, different " "for each task. This can be used to select a task to do some special " "housekeeping, e.g.::" msgstr "" #: library/asyncio-sync.rst:417 msgid "" "This method may raise a :class:`BrokenBarrierError` exception if the barrier " "is broken or reset while a task is waiting. It could raise a :exc:" "`CancelledError` if a task is cancelled." msgstr "" #: library/asyncio-sync.rst:423 msgid "" "Return the barrier to the default, empty state. Any tasks waiting on it " "will receive the :class:`BrokenBarrierError` exception." msgstr "" #: library/asyncio-sync.rst:426 msgid "" "If a barrier is broken it may be better to just leave it and create a new " "one." msgstr "" #: library/asyncio-sync.rst:430 msgid "" "Put the barrier into a broken state. This causes any active or future calls " "to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for " "example if one of the tasks needs to abort, to avoid infinite waiting tasks." msgstr "" #: library/asyncio-sync.rst:437 msgid "The number of tasks required to pass the barrier." msgstr "" #: library/asyncio-sync.rst:441 msgid "The number of tasks currently waiting in the barrier while filling." msgstr "" #: library/asyncio-sync.rst:445 msgid "A boolean that is ``True`` if the barrier is in the broken state." msgstr "" #: library/asyncio-sync.rst:450 msgid "" "This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" "`Barrier` object is reset or broken." msgstr "" #: library/asyncio-sync.rst:458 msgid "" "Acquiring a lock using ``await lock`` or ``yield from lock`` and/or :keyword:" "`with` statement (``with await lock``, ``with (yield from lock)``) was " "removed. Use ``async with lock`` instead." msgstr ""