Spec-Zone.ru › Python 3.13

Выполнение в нескольких потоках

Модули, описанные в этой главе, обеспечивают поддержку одновременного выполнения кода. Выбор подходящего инструмента будет зависеть от задачи (задачи, связанные с процессором, против задач, связанных с вводом/выводом) и предпочтительного стиля разработки (событийно-ориентированное кооперативное многозадачность против прерывистой многозадачности). Вот обзор:

  • threading — Параллелизм на основе потоков
    • active_count()
    • current_thread()
    • excepthook()
    • __excepthook__
    • get_ident()
    • get_native_id()
    • enumerate()
    • main_thread()
    • settrace()
    • settrace_all_threads()
    • gettrace()
    • setprofile()
    • setprofile_all_threads()
    • getprofile()
    • stack_size()
    • TIMEOUT_MAX
    • Данные, локальные для потока
      • local
    • Объекты потоков
      • Thread
        • start()
        • run()
        • join()
        • name
        • getName()
        • setName()
        • ident
        • native_id
        • is_alive()
        • daemon
        • isDaemon()
        • setDaemon()
    • Объекты блокировок
      • Lock
        • acquire()
        • release()
        • locked()
    • Объекты рекурсивных блокировок
      • RLock
        • acquire()
        • release()
    • Объекты условий
      • Condition
        • acquire()
        • release()
        • wait()
        • wait_for()
        • notify()
        • notify_all()
    • Объекты семафоров
      • Semaphore
        • acquire()
        • release()
      • BoundedSemaphore
      • Semaphore Пример
    • Объекты событий
      • Event
        • is_set()
        • set()
        • clear()
        • wait()
    • Объекты таймеров
      • Timer
        • cancel()
    • Объекты барьеров
      • Barrier
        • wait()
        • reset()
        • abort()
        • parties
        • n_waiting
        • broken
      • BrokenBarrierError
    • Использование блокировок, условий и семафоров в инструкции with
  • multiprocessing — Параллелизм на основе процессов
    • Введение
      • Класс Process
      • Контексты и методы запуска
      • Обмен объектами между процессами
      • Синхронизация между процессами
      • Обмен состоянием между процессами
      • Использование пула рабочих процессов
    • Справочник
      • Process и исключения
        • Process
          • run()
          • start()
          • join()
          • name
          • is_alive()
          • daemon
          • pid
          • exitcode
          • authkey
          • sentinel
          • terminate()
          • kill()
          • close()
        • ProcessError
        • BufferTooShort
        • AuthenticationError
        • TimeoutError
      • Каналы и очереди
        • Pipe()
        • Queue
          • qsize()
          • empty()
          • full()
          • put()
          • put_nowait()
          • get()
          • get_nowait()
          • close()
          • join_thread()
          • cancel_join_thread()
        • SimpleQueue
          • close()
          • empty()
          • get()
          • put()
        • JoinableQueue
          • task_done()
          • join()
      • Разное
        • active_children()
        • cpu_count()
        • current_process()
        • parent_process()
        • freeze_support()
        • get_all_start_methods()
        • get_context()
        • get_start_method()
        • set_executable()
        • set_forkserver_preload()
        • set_start_method()
      • Объекты подключения
        • Connection
          • send()
          • recv()
          • fileno()
          • close()
          • poll()
          • send_bytes()
          • recv_bytes()
          • recv_bytes_into()
      • Примитивы синхронизации
        • Barrier
        • BoundedSemaphore
        • Condition
        • Event
        • Lock
          • acquire()
          • release()
        • RLock
          • acquire()
          • release()
        • Semaphore
      • Объекты ctypes
        • Value()
        • Array()
        • Модуль multiprocessing.sharedctypes
          • RawArray()
          • RawValue()
          • Array()
          • Value()
          • copy()
          • synchronized()
      • Менеджеры
        • Manager()
        • BaseManager
          • start()
          • get_server()
          • connect()
          • shutdown()
          • register()
          • address
        • SyncManager
          • Barrier()
          • BoundedSemaphore()
          • Condition()
          • Event()
          • Lock()
          • Namespace()
          • Queue()
          • RLock()
          • Semaphore()
          • Array()
          • Value()
          • dict()
          • list()
        • Namespace
        • Настраиваемые менеджеры
        • Использование удаленного менеджера
      • Объекты-прокси
        • BaseProxy
          • _callmethod()
          • _getvalue()
          • __repr__()
          • __str__()
        • Очистка
      • Пулы процессов
        • Pool
          • apply()
          • apply_async()
          • map()
          • map_async()
          • imap()
          • imap_unordered()
          • starmap()
          • starmap_async()
          • close()
          • terminate()
          • join()
        • AsyncResult
          • get()
          • wait()
          • ready()
          • successful()
      • Слушатели и клиенты
        • deliver_challenge()
        • answer_challenge()
        • Client()
        • Listener
          • accept()
          • close()
          • address
          • last_accepted
        • wait()
        • Форматы адресов
      • Ключи аутентификации
      • Ведение журнала
        • get_logger()
        • log_to_stderr()
      • Модуль multiprocessing.dummy
        • ThreadPool
    • Руководства по программированию
      • Все методы запуска
      • Методы запуска spawn и forkserver
    • Примеры
  • multiprocessing.shared_memory — Общая память для прямого доступа между процессами
    • SharedMemory
      • close()
      • unlink()
      • buf
      • name
      • size
    • SharedMemoryManager
      • SharedMemory()
      • ShareableList()
    • ShareableList
      • count()
      • index()
      • format
      • shm
  • Пакет concurrent
  • concurrent.futures — Запуск параллельных задач
    • Объекты Executor
      • Executor
        • submit()
        • map()
        • shutdown()
    • ThreadPoolExecutor
      • ThreadPoolExecutor
      • Пример ThreadPoolExecutor
    • ProcessPoolExecutor
      • ProcessPoolExecutor
      • Пример ProcessPoolExecutor
    • Объекты Future
      • Future
        • cancel()
        • cancelled()
        • running()
        • done()
        • result()
        • exception()
        • add_done_callback()
        • set_running_or_notify_cancel()
        • set_result()
        • set_exception()
    • Функции модуля
      • wait()
        • FIRST_COMPLETED
        • FIRST_EXCEPTION
        • ALL_COMPLETED
      • as_completed()
    • Классы исключений
      • CancelledError
      • TimeoutError
      • BrokenExecutor
      • InvalidStateError
      • BrokenThreadPool
      • BrokenProcessPool
  • subprocess — Управление дочерними процессами
    • Использование модуля subprocess
      • run()
      • CompletedProcess
        • args
        • returncode
        • stdout
        • stderr
        • check_returncode()
      • DEVNULL
      • PIPE
      • STDOUT
      • SubprocessError
      • TimeoutExpired
        • cmd
        • timeout
        • output
        • stdout
        • stderr
      • CalledProcessError
        • returncode
        • cmd
        • output
        • stdout
        • stderr
      • Часто используемые аргументы
      • Конструктор Popen
        • Popen
      • Исключения
    • Рекомендации по безопасности
    • Объекты Popen
      • poll()
      • wait()
      • communicate()
      • send_signal()
      • terminate()
      • kill()
      • args
      • stdin
      • stdout
      • stderr
      • pid
      • returncode
    • Помощники Popen для Windows
      • STARTUPINFO
        • dwFlags
        • hStdInput
        • hStdOutput
        • hStdError
        • wShowWindow
        • lpAttributeList
      • Константы Windows
        • STD_INPUT_HANDLE
        • STD_OUTPUT_HANDLE
        • STD_ERROR_HANDLE
        • SW_HIDE
        • STARTF_USESTDHANDLES
        • STARTF_USESHOWWINDOW
        • STARTF_FORCEONFEEDBACK
        • STARTF_FORCEOFFFEEDBACK
        • CREATE_NEW_CONSOLE
        • CREATE_NEW_PROCESS_GROUP
        • ABOVE_NORMAL_PRIORITY_CLASS
        • BELOW_NORMAL_PRIORITY_CLASS
        • HIGH_PRIORITY_CLASS
        • IDLE_PRIORITY_CLASS
        • NORMAL_PRIORITY_CLASS
        • REALTIME_PRIORITY_CLASS
        • CREATE_NO_WINDOW
        • DETACHED_PROCESS
        • CREATE_DEFAULT_ERROR_MODE
        • CREATE_BREAKAWAY_FROM_JOB
    • Более старые высокоуровневые API
      • call()
      • check_call()
      • check_output()
    • Замена устаревших функций модулем subprocess
      • Замена подстановки команд оболочки /bin/sh
      • Замена конвейера оболочки
      • Замена os.system()
      • Замена семейства os.spawn
      • Замена os.popen(), os.popen2(), os.popen3()
      • Замена функций из модуля popen2
    • Функции устаревшего вызова оболочки
      • getstatusoutput()
      • getoutput()
    • Примечания
      • Преобразование последовательности аргументов в строку в Windows
      • Отключение использования vfork() или posix_spawn()
  • sched — Планировщик событий
    • scheduler
    • Объекты планировщика
      • enterabs()
      • enter()
      • cancel()
      • empty()
      • run()
      • queue
  • queue — Класс синхронизированной очереди
    • Queue
    • LifoQueue
    • PriorityQueue
    • SimpleQueue
    • Empty
    • Full
    • ShutDown
    • Объекты очереди
      • qsize()
      • empty()
      • full()
      • put()
      • put_nowait()
      • get()
      • get_nowait()
      • task_done()
      • join()
      • Завершение работы очередей
        • shutdown()
    • Объекты SimpleQueue
      • qsize()
      • empty()
      • put()
      • put_nowait()
      • get()
      • get_nowait()
  • contextvars — Переменные контекста
    • Переменные контекста
      • ContextVar
        • name
        • get()
        • set()
        • reset()
      • Token
        • var
        • old_value
        • MISSING
    • Управление контекстом вручную
      • copy_context()
      • Context
        • run()
        • copy()
        • get()
        • keys()
        • values()
        • items()
    • Поддержка asyncio

Ниже приведены вспомогательные модули для некоторых из вышеперечисленных сервисов:

  • _thread — API потоков низкого уровня
    • error
    • LockType
    • start_new_thread()
    • interrupt_main()
    • exit()
    • allocate_lock()
    • get_ident()
    • get_native_id()
    • stack_size()
    • TIMEOUT_MAX
    • acquire()
    • release()
    • locked()

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/concurrency.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API