C/C++ 协同程式切换存在以下几个潜在风险:
1、托管资源泄漏(注意:只要是人为显示管理的资源,均为托管资源)
2、协程切换被挂起(永久/等于 deadline 死亡)
3、平台兼容性问题
4、多核编程临界安全问题
以 stackful 有栈协同程式为例,本人不喜欢 C++ 20 的 stackless 编译器支援协同程式,因为麻烦且不好用、而且还有编译器标准版本最小限制。
人们可先行参考本人的这些文章:
C/C++ 协同程式切换存在以下几个潜在风险:
1、托管资源泄漏(注意:只要是人为显示管理的资源,均为托管资源)
2、协程切换被挂起(永久/等于 deadline 死亡)
3、平台兼容性问题
4、多核编程临界安全问题
以 stackful 有栈协同程式为例,本人不喜欢 C++ 20 的 stackless 编译器支援协同程式,因为麻烦且不好用、而且还有编译器标准版本最小限制。
人们可先行参考本人的这些文章: