Commit | Line | Data |
---|---|---|
087a198a AM |
1 | package org.lttng.ust.tests; |
2 | ||
3 | import java.io.IOException; | |
4 | import java.util.LinkedList; | |
5 | import java.util.List; | |
087a198a | 6 | import java.util.logging.Logger; |
087a198a AM |
7 | |
8 | public class Runner implements Runnable { | |
9 | ||
10 | private final List<Worker> workers; | |
11 | private final List<Thread> workerThreads; | |
12 | ||
7489e9d7 AM |
13 | public Runner(int nbThreads, int nbIter, Logger log) |
14 | throws SecurityException, IOException { | |
087a198a AM |
15 | Worker curWorker; |
16 | ||
7489e9d7 AM |
17 | this.workers = new LinkedList<>(); |
18 | this.workerThreads = new LinkedList<>(); | |
087a198a | 19 | |
7489e9d7 AM |
20 | for (int id = 0; id < nbThreads; id++) { |
21 | curWorker = new Worker(id, nbIter, log); | |
087a198a | 22 | workers.add(curWorker); |
7489e9d7 | 23 | workerThreads.add(new Thread(curWorker, "worker " + id)); |
087a198a AM |
24 | } |
25 | } | |
26 | ||
27 | @Override | |
28 | public void run() { | |
29 | // System.out.println("Starting"); | |
30 | for (Thread curThread : workerThreads) { | |
31 | curThread.start(); | |
32 | } | |
33 | ||
34 | for (Thread curThread : workerThreads) { | |
35 | try { | |
36 | curThread.join(); | |
37 | } catch (InterruptedException e) { | |
38 | e.printStackTrace(); | |
39 | } | |
40 | } | |
41 | // System.out.println("Finished"); | |
42 | } | |
43 | } |