c++理解协程05
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++理解协程05相关的知识,希望对你有一定的参考价值。
构 中对象{
构 承诺类型;
整 取中(){中*_值;}
私:
共针<整>_值=造共<整>(0);
};
构 中对象::承诺类型{
中对象 取中对象(){
中 _中;
}
...
空 返回值(整 值){
*_中._值= 值;
}
中对象 _中;
};
上面是一种,下面是另一种:
构 中对象{
构 承诺类型{
中对象 取中对象(){
中 中对象(本);
}
空 置中对象(中对象 * 中){_中=中;}
动 初始挂起(){
中 实验性::从不挂起{};
}
动 止挂起(){
中 实验性::从不挂起{};
}
空 未处理异常(){
}
空 返回值(整 值){
_中->_值=值;
}
中对象 * _中=空针;
};
整 取中(){中 _值;}
私:
中对象(承诺类型 *p){p->置中对象(本);}
整 _值=0;
};
协程句柄用于恢复协程或销毁协程.承诺对象从内部控制协程,将异常/结果传递给系统外.而协程句柄提供外部控制协程的方法:
元<>构 协程句柄<空>{//无承诺访问
静 协程句柄 从地址(空*_地址);
空*地址()常 无异;
空 符号()()常 无异{恢复();}
空 恢复()常{_恢复协程(_针);}//恢复
空 消灭(){_消灭协程(_针);}
极 完成()常{中 _针->_索引==0;}
构 _可恢复帧前缀{
用 _恢复函数=空(__c声明*)(空*);
_恢复函数 _函数;正16型 _索引,_标志;
};//一个函数指针,加两个状态.
保护:
_可恢复帧前缀*_针=空针;//帧前缀
};
本人的csdn博客:https://blog.csdn.net/fqbqrr 让我们每天都进步一点. |
以上是关于c++理解协程05的主要内容,如果未能解决你的问题,请参考以下文章