我读到ucontext用于在linux中的多个线程之间保存上下文.由于操作系统在不同线程之间进行上下文切换,为什么linux提供此头文件(ucontext.h)进行上下文切换?
ucontext.h定义函数(setcontext,getcontext,makecontext,和swapcontext)和结构(ucontext_t以及mcontext_t允许程序员来保存和恢复程序上下文).
使用这些函数,程序员可以实现高级流控制方案,例如协同程序或轻量级用户线程.
GNU C库中提供了大量详细信息(包括实现协同程序的示例):完整上下文控制.
应该注意的ucontext.h是在POSIX.1-2008中废弃了("IEEE Std 1003.1-2001/Cor 2-2004,应用了项目XBD/TC2/D6/28,更新了getcontext(),makecontext(),setcontext(),和swapcontext()函数是过时的."在ucontext.h页面上.).)