-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathThreadPoolTest.java
More file actions
60 lines (54 loc) · 2.01 KB
/
ThreadPoolTest.java
File metadata and controls
60 lines (54 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package threadpool;
import junit.framework.TestCase;
import org.junit.Test;
import threadpool.*;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.*;
import org.junit.Test;
import threadpool.*;
/**
* @author nemo
*/
public class ThreadPoolTest extends TestCase {
@Test
public void test() {
System.out.println("Test thread pool:");
System.out.println("Initializing tasks...");
List<Task> taskList = new ArrayList<>();
taskList.add(new NavigationTask(2));
taskList.add(new NavigationTask(3));
taskList.add(new HealthCareTask(2));
taskList.add(new HealthCareTask(2));
taskList.add(new NavigationTask(4));
taskList.add(new HealthCareTask(2));
taskList.add(new NavigationTask(2));
taskList.add(new NavigationTask(2));
taskList.add(new HealthCareTask(1));
taskList.add(new HealthCareTask(5));
taskList.add(new NavigationTask(2));
taskList.add(new HealthCareTask(2));
taskList.add(new NavigationTask(4));
taskList.add(new HealthCareTask(2));
taskList.add(new NavigationTask(6));
taskList.add(new NavigationTask(2));
taskList.add(new HealthCareTask(3));
taskList.add(new NavigationTask(2));
taskList.add(new NavigationTask(4));
taskList.add(new HealthCareTask(5));
taskList.add(new NavigationTask(3));
taskList.add(new NavigationTask(1));
taskList.add(new HealthCareTask(4));
taskList.add(new NavigationTask(5));
int STAFF_COUNT = 3;
System.out.printf("Configured staff count is %d\n", STAFF_COUNT);
System.out.println("Running each task with given threadpool...");
ExecutorService executor = Executors.newFixedThreadPool(STAFF_COUNT);
taskList.stream().map(Worker::new).forEach(executor::execute);
executor.shutdown();
while (!executor.isTerminated()) {
Thread.yield();
}
System.out.println("All task finished!");
}
}