Loom是Java中的超线程?


Loom 中的虚拟线程就是 JVM 上超线程(HyperThreading)的一个版本吗?

虚拟线程与超线程不同
两者之间存在差异,最显着的是:超线程不需要像 Loom 那样进行任务协作,因此虚拟核心不能让其他虚拟核心挨饿。
另外值得注意的是,超线程的调度程序是在芯片中实现的,无法配置甚至更改,而虚拟线程的执行可以根据需要进行。

虚拟线程与超线程相同:
无论是硬件核心还是平台线程,两者都试图通过将多个任务的复用充分利用计算资源。

当一项任务等待时,可以安排另一项任务,从而提高整体吞吐量。当较长的 IO 操作紧随短暂的计算突发时,这种复用方法尤其有效。