最終更新:2021-02-17 (水) 07:40:25 (1164d)  

Python/multiprocessing
Top / Python / multiprocessing

プロセスベースの並列処理

https://docs.python.org/ja/3/library/multiprocessing.html

メモ

  • It runs on both Unix and Windows.

クラス

Python/multiprocessing.Process

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 でのデフォルト。

forkserver?

プロセス間通信