メソッドが完了するまでにかかる合計時間を計る必要があります。通常は次を使用します。
long startTime = System.currentTimeMillis();
MethodWithThreads(); // the method which uses threading
long endTime = System.currentTimeMillis();
total = endTime - startTime;
明らかに問題は、メインスレッドが残りのスレッドの前に終了することです。スレッド関数内には次のコードがあります。
int cores = Runtime.getRuntime().availableProcessors();
ExecutorService pool = Executors.newFixedThreadPool(cores-1);
for(int i = 0; i < 1000; i++)
{
pool.submit(new RunnableThread());
}
pool.shutdown();
では、スレッド メソッドが終了するまでの合計時間をどのように見つけるのでしょうか?