操作系统了解如何使用线程的特征是否有优势?例如,如果在创建新线程时 Java 中有一种方法表明它将用于密集的 CPU 计算而不是阻塞 I/O,那会怎样呢?如果这是一种能力,线程调度不会得到改善吗?
最佳答案
我不确定您实际上期望操作系统如何处理线程是 I/O 或计算的信息。实际上对线程的调度方式产生最大影响的因素(即线程优先级和线程 CPU 亲和性)已经由 API 公开(并且对 NUMA 方面的支持也开始出现在主流操作系统 API 中)。
如果您所说的“计算线程”是指它在进行后台处理并且不如 GUI 线程重要(从保持应用程序响应能力的角度来看),那么您可以做的最有用的事情可能是降低计算的优先级线程一点点。
关于multithreading - 操作系统了解如何使用线程的特征是否有优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/738760/