getcontext makecontext setcontext swapcontext

来源:互联网 发布:美图里的蜡笔软件 编辑:程序博客网 时间:2024/06/07 23:31

getcontext makecontext setcontext swapcontext

允许在一个程序中多个线程进行切换.

        typedef struct ucontext {            struct ucontext *uc_link; // 当前 thread 运行完后, 接着运行 uc_link            sigset_t uc_sigmask; // 阻塞的信号集            stack_t uc_stack; // current context use stack            mcontext_t uc_mcontext; // thread's machine register        }

getcontext(ucontext *ucp): 初始化一个 context currently active context

setcontext: 恢复一个 context.

  • 如果 context 是从getcontext获得,那么程序继续执行.
  • 如果 context 是从makecontext获得, 先执行 func 然后执行 uc_link.
  • context 从 signal handler 获得, 那么行为未确定.

    makecontext(ucontext_t *ucp, void (*func)(), int argc, ...): 用于修改 context(obtain from a call to getcontext), 使用 setcontext swapcontext activate, 先执行func, 然后执行 ucp->uclink(if ucp->uclink pointer is NULL, the thread exits),

    swapcontext(ucontext_t *oucp, ucontext_t *ucp): 保存当前 context, activated ucp

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信隐私设置无法添加怎么办 微信支付被限额怎么办 微信发现没有购物怎么办 微信转账钱被骗怎么办 玩连环夺宝输了好多钱怎么办 厘米秀换不了装怎么办 社保只缴纳两年怎么办 502盖子粘到手上怎么办 口红粘在盖子上怎么办 玫瑰手杖永久错过了怎么办 手指沾到502胶水怎么办 我退款了货到了怎么办 世纪天成账号被盗什么也没绑怎么办 韩国电话卡不想用怎么办2018 汽车没有年检交警抓到怎么办 ios软件未受信任怎么办 淘宝开店被管理了怎么办 微店网络异常025怎么办 商家给买家返款转错了怎么办 淘宝号限制下单怎么办 淘宝退货单号填错了怎么办 淘宝买家申请退款不退货怎么办 不支持7天无理由怎么办 淘宝上不给退货怎么办 网购衣服买小了怎么办 淘宝上全球购买到假货怎么办 京东全球购税费怎么办 代购被海关税了怎么办 网上买猫被骗了怎么办 苏宁账号被冻结怎么办 九州娱乐提款未到账怎么办 法院拍卖后不足的余款怎么办 购车后余款没拿怎么办? 抵押房屋被执行后余款怎么办 苏宁无敌券过期怎么办 被亚马逊自营跟卖怎么办 苏宁易购绑定手机后解绑不了怎么办 手机qq注册号码忘了怎么办 原创头条号被限制推荐了怎么办 为什么打开app有广告怎么办 苹果手机浏览器总是弹出广告怎么办