我对多线程很陌生,我正在做一个项目,我试图在我的 Java 程序中使用 4 个 CPU。我想做类似的事情
int numProcessors = Runtime.getRuntime().availableProcessors();
ExecutorService e = Executors.newFixedThreadPool(numProcessors);
这能保证每个 CPU 都有一个线程工作吗?在我创建线程的时候,系统不会很忙,但是之后的一段时间会非常忙。我认为操作系统会选择最不忙的 CPU 来创建线程,但是如果在创建时它们都不是特别忙,它是如何工作的呢?
此外,线程池服务应该重用线程,但是如果它看到另一个 CPU 上有更多的可用性,它会杀死线程并在那里生成一个新线程吗?