对于用户级线程,有 N 个用户级线程运行在单个内核线程之上。这与 pthreads 形成对比,在 pthreads 中只有一个用户线程在内核线程上运行。
N 个用户级线程被抢占地调度在单个内核线程上。但是如何做到这一点的细节是什么。
我听说有人建议线程库进行设置,以便内核发送信号,这是将执行从单个用户级线程拉到信号处理程序然后可以进行抢占式调度的机制。
但是如何保存和/或改变状态(例如寄存器和线程结构)以使这一切正常工作的细节是什么?是否有一个非常简单的用户级线程对学习细节很有用?
linux multithreading
linux ×1
multithreading ×1