如何在Linux中创建用户级线程。我的理解是Pthread库创建了内核级线程。那么我们如何创建用户级线程呢。
答案 0 :(得分:2)
实施"绿色线程"我们需要操纵流程上下文才能在模拟的执行线程之间切换。 Linux提供了一个方便的API:
除了特定于Linux(并且非常灵活)getcontext()
和朋友之外,C编程语言规范要求存在2个好奇函数setjmp和longjmp。这些也可用于实现"绿色"线程,尽管功能有限。
当然,使用上述API进行编程很困难,因此创建库是为了简化" green"线程管理(一个例子是State Threads库)。