我一直在学习和试验 Java 中的多线程。我有一个四核处理器(带有超线程)。如果我有 1 个线程在它的 run() 函数中进入无限循环,它会占用我的 CPU 90%。
如何将其限制为 1 个核心(即 25%)或无法完成?我好奇地问。先感谢您。
通过使用带有 BlockingQueue 而不是 executorService 的纯线程,我能够使用高达 90%/core。我还没有在 ExecutorService 上尝试 BlockingQueue - 但是使用并发列表,Executor 服务正在同步。
谢谢大家的帮助!对此,我真的非常感激。