I/O 在绿色线程中阻塞
I/O Blocking in Green threads
我正在阅读有关绿色线程的内容,并且能够理解这些线程是由 VM 或在运行时创建的,而不是由 os 创建的,但我无法理解以下语句
When a green thread executes a blocking system call, not only is that thread blocked, but all of the threads within the process are blocked.
谁能解释一下 possible 怎么样?
其实很简单。
"Green Threads" 在 VM 内部以编程方式实现,它在其中调度 CPU 和内存,就像真正的 OS 在 OS-level 进程之间调度这些资源一样线程。
但是从 OS 的角度来看,只有一个线程 - VM 本身,所以当它进行阻塞系统调用时(代表它在内部管理的 "Green Threads" 之一),这个单线程自然是阻塞的,什么也做不了,包括调度"Green Threads",所以"world stops"也给他们调度了。
我正在阅读有关绿色线程的内容,并且能够理解这些线程是由 VM 或在运行时创建的,而不是由 os 创建的,但我无法理解以下语句
When a green thread executes a blocking system call, not only is that thread blocked, but all of the threads within the process are blocked.
谁能解释一下 possible 怎么样?
其实很简单。
"Green Threads" 在 VM 内部以编程方式实现,它在其中调度 CPU 和内存,就像真正的 OS 在 OS-level 进程之间调度这些资源一样线程。
但是从 OS 的角度来看,只有一个线程 - VM 本身,所以当它进行阻塞系统调用时(代表它在内部管理的 "Green Threads" 之一),这个单线程自然是阻塞的,什么也做不了,包括调度"Green Threads",所以"world stops"也给他们调度了。