Internal Working von newFixedThreadPool

Bitte helfen Sie mir, den internen Ablauf von newFixedThreadPool (oder Cached) zu verstehen.

Wenn wir die folgenden Anweisungen schreiben, ist ExecutorService e = Executors.newFixedThreadPool (3);

e.execute (runaable1); e.execute (runaable2); e.execute (runaable3); e.execute (runaable4); e.execute (runaable5);

Bis zu 3 Ausführungsmethoden werden drei Threads erstellt. Wenn die 4. Ausführungsmethode aufgerufen wird, wird kein neuer Thread erstellt, aber die Arbeit wartet darauf, dass ein Thread frei ist.

Ich verstehe diesen Punkt nicht. "Es wird kein neuer Thread erstellt, aber die Arbeit wartet darauf, dass ein Thread frei ist." Was ich denke, wenn runnable1 dem zuerst erstellten Thread übergeben wird, wenn die Run-Methode von runnable1 beendet ist, wenn auch Thread1 beendet ist, kann Thread1 die Run-Methode von runnable4 nicht aufrufen. Also, wie Java es schafft, 5 Runnable mit nur 3 Threads auszuführen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage