スレッドプールの作業者を管理したい。キューに5人の従業員がいる場合、どのようにそれらの従業員を管理するかのように。最初の労働者が4人目の労働者の後に、または何人かの労働者の選別の後に走るべきであると仮定する。Javaのスレッドプールのキュー/ワーカーを管理する
私は自分のアプリケーションでThreadPoolExecutorを使用しています。それは期待どおりに働いていますが、それらの従業員を管理する必要があります。 ヒントや参考資料を教えてください。
スレッドプールの作業者を管理したい。キューに5人の従業員がいる場合、どのようにそれらの従業員を管理するかのように。最初の労働者が4人目の労働者の後に、または何人かの労働者の選別の後に走るべきであると仮定する。Javaのスレッドプールのキュー/ワーカーを管理する
私は自分のアプリケーションでThreadPoolExecutorを使用しています。それは期待どおりに働いていますが、それらの従業員を管理する必要があります。 ヒントや参考資料を教えてください。
スレッドプールを使用するポイントは、アプリケーションからスレッドの管理を抽象化することです。スレッドを自分で管理する必要がある場合は、基本的に独自のスレッドプールを作成する必要があります。 その場合、エグゼキュータを使用することは役に立ちません。そのレベルの制御が失われるためです。 代わりに、自分でスレッドを作成して管理する必要があります。
スレッドを自分で管理することも、順序を制御するためにバリアやセマフォなどの並行処理プリミティブを使用することもできます。 java.util.concurrentパッケージを確認します。たとえば、最初のワーカーは、ある時点で他のワーカーがリリースしたセマフォまたはカウントダウンを待つことができます。
作業員を管理しないでください。キューを管理する必要があります。
良い紹介についてはThreadPoolExecutor and the queueを参照してください。