0

特定のタスク用にスレッドのプールを作成したい。常に特定の数のスレッドを維持したい。どうやってやるの ?アクティブなスレッドの数をいつでも確認し、カウントが指定されたカウントよりも少ない場合に新しいスレッドを作成するにはどうすればよいですか?

4

1 に答える 1

1

既存のスレッド プールの実装を使用している場合 — <a href="http://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor" rel="nofollow"> concurrent.futures.ThreadPoolExecutormultiprocessing.dummy.Pool、または見つけたものPyPI または他の場所で — これはすべて自動的に処理されます。

手動で何かを構築したい場合、この質問はあまり意味がありません。スレッドを追跡し、手動で開始し、いつ終了するかを知る必要があるため、アクティブなスレッドの数を常に把握できます。

サンプル コードを参照する場合、ソースconcurrent.futuresは非常に読みやすく、非常に短いものです。ざっと見てわかるように_adjust_thread_count、新しいジョブを送信するたびに呼び出され、その関数はlen(self._threads) < self.max_workers必要に応じて新しいスレッドを作成するかどうかを確認するだけです。

于 2013-08-05T20:42:44.613 に答える