Green threads是由虚拟机调度的线程,而不是由底层操作系统本机调度的线程。
听起来它确实满足了m:1 thread model,其中m个用户级线程对应1个内核级实体。
告诉我这两个术语之间的区别?
发布于 2012-01-03 10:15:33
术语“绿色线程”通常指由虚拟机执行调度的情况,而M:1线程模型可以使用任何用户空间线程库(例如GNU Pth)来实现。
目前,大多数实现绿色线程的虚拟机都使用单个操作系统线程来调度一定数量的用户级线程,从而防止程序利用多个内核。原则上,一个VM 可以使用多个OS线程(Erlang使用这种技术来允许它的lightweight processes利用SMP);这样的VM将不再适合"M:1线程模型“。
https://stackoverflow.com/questions/8706369
复制相似问题