Java の並行処理について頭を悩ませようとしているのですが、スレッド プール、スレッド、およびそれらが実行している実行可能な「タスク」の間の関係を理解するのに苦労しています。
たとえば、10 個のスレッドを含むスレッド プールを作成した場合、プール内の各スレッドに同じタスクを渡す必要がありますか、それともプールされたスレッドは、文字通りタスクに依存しない「ワーカー ドローン」であり、任意のタスクを実行できますか?
いずれにせよ、Executor/ExecutorService はどのようにして適切なタスクを適切なスレッドに割り当てるのでしょうか?