Green threads是由虚拟机调度的线程,而不是由底层操作系统本地调度的线程。
听起来确实符合m:1 thread model,其中m个用户级线程对应1个内核级实体。
告诉我这两个术语之间的区别?
答案 0 :(得分:1)
术语“绿色线程”通常是指由虚拟机执行调度的情况,而M:1线程模型可以使用任何用户空间线程库(例如GNU Pth)来实现。 / p>
现在,大多数实现绿色线程的虚拟机使用单个操作系统线程调度一些用户级线程,从而阻止程序利用多个内核。原则上,VM 可以使用多个OS线程(Erlang使用此技术允许其lightweight processes利用SMP);这样的VM将不再适合“M:1线程模型”。