Wie kann ich eine potenziell große Anzahl von Listenelementen mit einer festen Anzahl von Threads verarbeiten? Ich habe eine Lösung ExecutorService mit:Listenelemente mit fester Anzahl von Threads verarbeiten
ExecutorService threadPool =
Executors.newFixedThreadPool(threadsNumber);
for (String url : urlList) {
MyThread thread = new MyThread(url);
threadPool.execute(thread);
}
threadPool.shutdown();
threadPool.awaitTermination(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
Dieser Code gibt mir korrekte Ausgabe, sondern bei jeder Iteration einen neuen Thread zu erstellen Ich möchte eine Anzahl von Threads vor Iteration erstellen und wiederverwenden. Wie kann ich das machen?
Ihre Frage nicht bekommen. Ich sehe keinen Unterschied, entweder Sie erstellen Thread außerhalb oder innerhalb der Schleife. Warum denkst du, wird es einen Unterschied machen? – Ravi
Das Erstellen von Threads innerhalb einer Schleife hängt von der Anzahl der Elemente in der Iterationsliste ab. Wenn die Liste eine große Anzahl von Elementen enthält, müssen Sie viele Threads erstellen. Ich möchte es vermeiden, indem Sie Threads vor einer Schleife erstellen, die nicht von einer Anzahl von Elementen in 'urlList' beeinflusst wird. – MoBi
Es wird nur die Anzahl der Threads erstellt, die angegeben werden – Ravi