最終更新:2021-02-17 (水) 07:40:25 (1164d)
Python/multiprocessing
プロセスベースの並列処理
https://docs.python.org/ja/3/library/multiprocessing.html
メモ
- It runs on both Unix and Windows.
クラス
Python/multiprocessing.Process
- Python/threading.Threadと同様のAPI
Python/multiprocessing.Pool()
Python/multiprocessing.pool.Pool
Python/multiprocessing.Queue
Python/multiprocessing.SimpleQueue?
Python/multiprocessing.JoinableQueue?
方式
- Python 3.8: macOS では、 spawn 開始方式がデフォルトになりました。 fork 開始方法は、サブプロセスのクラッシュを引き起こす可能性があるため、安全ではありません。 bpo-33725 を参照。
- Python 3.4: すべての Unix プラットフォームで spawn が、一部のプラットフォームで forkserver が追加されました。Windows では親プロセスの継承可能な全ハンドルが子プロセスに継承されることがなくなりました。
spawn
- The parent process starts a fresh python interpreter process.
- Unix と Windows で利用可能。Windows と macOS でのデフォルト。
fork
- os.fork
- Unix でのみ利用可能。Unix でのデフォルト。