J'utilise java.util.concurrent.Executors et java.util.concurrent.ExecutorService pour exécuter des threads parallèles. S'il vous plaît laissez-moi savoir comment capturer Temps pris pour compléter tous les threads.Capture Durée totale d'exécution d'un thread parallèle
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();
}
}
Voulez-vous dire la somme du temps de chaque fil, ou le temps écoulé entre le premier fil commence à quand le dernier fil se termine? –
S'il vous plaît laissez-moi savoir comment calculer les deux. – user3558691
Je pense que vous faites référence à 1.sum du temps de chaque thread signifie-> Seul le temps nécessaire pour exécuter des tâches thread (temps total de la méthode Run) 2. temps à partir du moment où le premier thread commence à la fin du dernier thread ---> y compris le temps pris par le fil principal. est-ce? – user3558691