multithreading - 操作系统了解如何使用线程的特征是否有优势?

标签 multithreading scheduling kernel bsd

操作系统了解如何使用线程的特征是否有优势?例如,如果在创建新线程时 Java 中有一种方法表明它将用于密集的 CPU 计算而不是阻塞 I/O,那会怎样呢?如果这是一种能力,线程调度不会得到改善吗?

最佳答案

我不确定您实际上期望操作系统如何处理线程是 I/O 或计算的信息。实际上对线程的调度方式产生最大影响的因素(即线程优先级和线程 CPU 亲和性)已经由 API 公开(并且对 NUMA 方面的支持也开始出现在主流操作系统 API 中)。

如果您所说的“计算线程”是指它在进行后台处理并且不如 GUI 线程重要(从保持应用程序响应能力的角度来看),那么您可以做的最有用的事情可能是降低计算的优先级线程一点点。

关于multithreading - 操作系统了解如何使用线程的特征是否有优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/738760/

相关文章:

algorithm - 最短用户等待时间和最大用户等待间隔的最优调度系统

c - 内存共享 C - 性能

android - android os及其内核是用什么编程语言编写的?

java 带线程的方法返回类型

multithreading - GTK 和 nanomsg 的线程友好主循环

c++ - 我将如何实现 FCFS 处理器调度模拟器?

linux-kernel - 系统调用 Hook 问题

c - 如何从 task_struct 获取最 child 子的 PID

java - ArrayBlockingQueue : should use to create Pool?

java - 在java中通过两个线程执行两个同步方法