Ich habe eine neue Frage. Ich habe diesen Code:Thread.join() entspricht in Executor
public class Main
{
public static void main(String[] args) throws InterruptedException
{
// TODO Auto-generated method stub
IntHolder aHolder=new IntHolder();
aHolder.Number=0;
IncrementorThread A= new IncrementorThread(1, aHolder);
IncrementorThread B= new IncrementorThread(2, aHolder);
IncrementorThread C= new IncrementorThread(3, aHolder);
A.start();
B.start();
C.start();
A.join();
B.join();
C.join();
System.out.println("All threads completed...");
}
}
Welche für alle Threads abgeschlossen warten. Wenn ich Executors
wie folgt aus:
public class Main
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
IntHolder aHolder=new IntHolder();
aHolder.number=0;
IncrementalRunable A= new IncrementalRunable(1, aHolder);
IncrementalRunable B= new IncrementalRunable(2, aHolder);
IncrementalRunable C= new IncrementalRunable(3, aHolder);
ExecutorService exec = Executors.newFixedThreadPool(3);
exec.execute(A);
exec.execute(B);
exec.execute(C);
//Don't know what to do here
System.out.println("All threads completed...");
}
}
Wie kann ich den Hauptthread suspendieren für alle Fäden in der Testamentsvollstrecker zu warten, um zu beenden, dh die „Alle Threads abgeschlossen ...“ sollte nach dem alle gedruckt werden Threads haben ihre Arbeit gemacht?
Check this: http://stackoverflow.com/questions/3269445/executorservice-how-to-wait-for-all-tasks-to-finish – giorashc
Zukunft aa hat blocking get method –