多线程大量短进程的最佳方法

时间:2018-10-10 20:16:22

标签: java multithreading

ArrayList<Task> tasks = new ArrayList<>();
//fill tasks with tasks to execute
ExecutorService executor = Executors.newFixedThreadPool(processors);
for (Task t : tasks)
    executor.execute(t);
executor.shutdown();
while (!executor.isTerminated()) {
    //wait for tasks to be completed
}

所以这是我目前正在使用的通用代码。它可以工作,但是我不确定这是否是针对我的用例的多线程的最佳/最有效方法。我确实注意到上面的方法会导致BSOD,但我不确定这是否是这种特定的多线程方式导致的,或者这仅仅是我的计算机/多线程问题。

TLDR;多线程处理大量短期任务的最佳方法是什么?

0 个答案:

没有答案