我读到ucontext是用来保存linux中多个线程之间的上下文的。既然操作系统会在不同的线程之间进行上下文切换,为什么linux要提供这个头文件(ucontext.h)来进行上下文切换?
发布于 2013-07-21 14:03:52
ucontext.h定义了允许程序员保存和恢复程序上下文的函数(setcontext、getcontext、makecontext和swapcontext)和结构(ucontext_t和mcontext_t)。
使用这些函数,程序员可以实现高级流控制方案,例如协程或轻量级用户线程。
GNU C Library: Complete Context Control中给出了大量的细节(包括实现协程的示例)。
应该注意的是,ucontext.h在2008年被废弃了("IEEE标准1003.1-2001/Cor 2-2004年,应用了XBD/TC2/D6/28项,更新了getcontext()、makecontext()、setcontext()和swapcontext()函数。“在ucontext.h page上)。)
https://stackoverflow.com/questions/17768925
复制相似问题