|
|
- package net.jrtechs;
-
- import java.util.List;
- import java.util.Vector;
- import java.util.stream.Collectors;
-
- public class RunThreads<E> extends ParallelExecutor<E>
- {
- @Override
- public List<E> runTasks(Vector<Work<E>> tasks)
- {
- List<E> results = new Vector<>();
- List<Thread> threads = tasks.stream()
- .map(task ->
- new Thread(() -> results.add(task.runTask())))
- .collect(Collectors.toList());
- threads.forEach(Thread::start);
- threads.forEach(t-> {
- try {
- t.join();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- });
- return results;
- }
- }
|