ExecutorService threadPool = Executors.newFixedThreadPool(N);
for (Runnable task : tasks) {
threadPool.execute(task);
}
我对多线程还有些陌生。这是我最近在面试中遇到的问题。能否帮我找到答案并给出明确的解释呢? 在上面的代码中,每个任务花费25%的时间进行计算,75%的时间进行I/O操作。假设使用一个四核机器(没有超线程),为了实现最佳性能而不浪费线程,线程池N的大小应该是多少,假设I/O容量无限。