【发布时间】:2019-04-18 11:54:36
【问题描述】:
我了解用户级线程或绿色线程由某些用户级线程库管理,并且必须“链接”到某些操作系统线程才能执行其任务。我知道线程只是一系列独立代码的抽象。线程用存储在内存中的一些数据结构来表示。在用户级或绿色线程的情况下,用户空间中存在并由用户级线程库管理。在操作系统级别或内核级别线程的情况下,它们由内核或操作系统存储和管理。我不明白将绿色线程链接到操作系统线程实际上是什么意思?我知道 1:1、n:1、n:m 方案,这不是我的问题所在。我的问题是在绿色线程和它绑定的内核线程之间复制或共享(或其他)哪些数据结构?当绿色线程必须进行上下文切换时,用户级线程库对这些结构做了什么?
【问题讨论】:
-
你可以学习一个绿色线程库的源代码-en.wikipedia.org/wiki/Green_threads
-
你知道python中有哪些简单的绿色线程库吗?
标签: multithreading operating-system green-threads