Автор оригинала: Doug Hellmann.
Python включает в себя сложные инструменты для управления параллельными операциями с использованием процессов и потоков. Даже многие относительно простые программы могут быть сделаны для бега быстрее, применяя методы для работы деталей задания, одновременно используя эти модули.
Подпрокат предоставляет API для создания и общения со вторыми процессами. Это особенно хорошо для проработки программ, которые производят или потребляют текст, поскольку API поддерживает передачу данных взад-вперед через стандартные входные и выходные каналы нового процесса.
Сигнальный модуль обнажает механизм сигнала UNIX для отправки событий в другие процессы. Сигналы обрабатываются асинхронно, обычно путем прерывания того, что выполняет программу в момент прибытия сигнала. Сигнализация полезна в качестве системы грубой системы обмена сообщениями, но другие методы межпроцессных коммуникаций более надежны и могут доставить более сложные сообщения.
Резьба включает в себя высокоуровневую, ориентированную на объект, API для работы с параллелизмом из Python. <Код> Тема Объекты выполняются одновременно в том же процессе и совместной памяти. Использование потоков – это простой способ масштабирования для задач, которые являются больше, чем ввода-вывод, чем граница CPU.
Многопроцессорный модуль зеркала резьбы, за исключением того, что вместо Thread
Class предоставляет . Каждый процесс
является настоящим системным процессом без общей памяти, но многопроцессора содержит функции для совместного использования данных и передачи сообщений между ними, чтобы во многих случаях преобразования от потоков в процессы так же просто, как изменение нескольких <код> Импорт утверждения.
Asyncio предоставляет рамки для параллелизма и асинхронного управления ввода/вывода, используя либо систему протокола на основе классовых протоколов. Asyncio заменяет старый <код> ASYNCORE и ASYNCHAT
модулей, которые все еще доступны, но устарели.
CONDUROND.FUTURES Обеспечивает внедрение исполнителей на основе потоков и обработки для управления элементами управления ресурсами для работы одновременных задач.
- Подпроцесс – нерестищие дополнительные процессы
- Сигнал – асинхронные системные события
- Резьба – управлять параллельными операциями в процессе
- Многопроцессор – управлять процессами, такими как потоки
- Asyncio – асинхронный ввод/вывод, контур событий и инструменты параллелизма
- concurrent.futures – управлять пулами одновременной задачи