:chicken: 鸡舍
Coop是一个基于C ++ 20协程的库,可在多线程应用程序的上下文中支持。 使用其他编程语言的async和await功能的用户将熟悉该语法。 用户不需要了解C ++ 20间的协同程序API使用这个库。
特征
附带默认的具有亲和力的两优先级线程安全任务调度程序。
任务计划程序可以与您自己的任务交换
支持调度用户定义的代码和操作系统完成事件(例如,在I / O完成后发出信号的事件)
易于使用,高效的API,并且代码占用空间小且易于消化(数百行代码,而不是数千行)
Coop中的任务渴望而不是懒惰,这意味着在暂停后,协程将立即派出,以具有适当亲和力的工人执行。 懒惰地构造事物有很多好处(请参阅本精彩的),Coop选择按照它的方式来做事情,因为:
Coop旨在与现有作业/任务图系统互操作
Coop最初是在不使用异常的游戏引擎环境中编写的
对于游戏引擎,具有CPU拓扑感知的分发机制
1