こんにちは。
面接でこんな質問があります。
スレッドを作成する方法をいくつ知っていますか? 答えには数字の 2 が表示されます。 create
Thread
、 pass it 、またはの
Runnable
子孫クラスのオブジェクトを作成します。しかし、私は疑問に思いました:それは2つですか?たとえば、を使用する場合、スレッド オブジェクトの作成時、このメソッドの実行直後、またはその後、タスクが実行対象として表示されるとき (結局のところ、タスクは表示されない可能性があります)。これらすべてのファクトリ メソッドは、構成パラメータの 1 つを含む、ある種の構成を返します。 このフィールドについては次のように記述されます: –
アイドル状態であっても、設定されていない限り、プール内に保持するスレッドの数一方、タスクが到着しなかった場合、アイドル状態のワーカーを 5 つ作成しました。おそらく、タスクが到着し始めるとワーカーの作成が開始されるでしょうか?
一般的に、質問に対する答えとして 2 つまたは 3 つの選択肢を念頭に置くことができますか?Thread
run()
concurrent
Executors.newFixedThreadPool(5)
ThreadPoolExecutor
corePoolSize
corePoolSize
allowCoreThreadTimeOut
GO TO FULL VERSION