在Linux中的Ucontext
作者:互联网
我读到ucontext用于在linux中的多个线程之间保存上下文.由于操作系统在不同线程之间进行上下文切换,为什么linux提供此头文件(ucontext.h)进行上下文切换?
解决方法:
ucontext.h
定义了允许程序员保存和恢复程序上下文的函数(setcontext
,getcontext
,makecontext
和swapcontext
)和结构(ucontext_t和mcontext_t).
使用这些函数,程序员可以实现高级流控制方案,例如协同程序或轻量级用户线程.
GNU C Library: Complete Context Control给出了大量细节(包括实现协程的一个例子).
应该注意的是,在POSIX.1-2008中废除了ucontext.h(“IEEE Std 1003.1-2001 / Cor 2-2004,应用了项目XBD / TC2 / D6 / 28,更新了getcontext(),makecontext(),setcontext ()和swapcontext()函数是过时的.“在ucontext.h
page上.)
标签:c-3,linux,ucontext 来源: https://codeday.me/bug/20190825/1720592.html