0
我正在使用java.util.concurrent.Executors和java.util.concurrent.ExecutorService來執行並行線程。請讓我知道如何捕獲完成所有線程所需的時間。捕獲並行線程的總執行時間
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class CallBackTest {
private static int NUM_OF_TASKS = 50;
Object result;
int cnt = 0;
long begTest, endTest;
public CallBackTest() { }
public void callBack(Object result) {
System.out.println("result "+result);
this.result = result;
}
public void run() {
ExecutorService es = Executors.newFixedThreadPool(50);
for(int i = 0; i < NUM_OF_TASKS; i++) {
CallBackTask task = new CallBackTask(i);
task.setCaller(this);
es.submit(task);
// at this point after submitting the tasks the
// main thread is free to perform other work.
}
}
public static void main(String[] args) {
new CallBackTest().run();
}
}
你的意思是每個線程的時間的總和,或當時間第一個線程開始時最後一個線程結束? –
請讓我知道如何計算兩者。 – user3558691
我想你指的是每個線程的時間1.sum - >只有執行線程任務所需的時間(Run方法的總和時間)2.從第一個線程開始到最後一個線程結束的時間意味着--->包括主線程佔用的時間。是嗎 ? – user3558691