文件名称:合作社:基于C ++ 20协程的协作多任务库
文件大小:69KB
文件格式:ZIP
更新时间:2024-03-23 12:17:34
cpp coroutines multithreading thread-pool cpp20
:chicken: 鸡舍 Coop是一个基于C ++ 20协程的库,可在多线程应用程序的上下文中支持。 使用其他编程语言的async和await功能的用户将熟悉该语法。 用户不需要了解C ++ 20间的协同程序API使用这个库。 特征 附带默认的具有亲和力的两优先级线程安全任务调度程序。 任务计划程序可以与您自己的任务交换 支持调度用户定义的代码和操作系统完成事件(例如,在I / O完成后发出信号的事件) 易于使用,高效的API,并且代码占用空间小且易于消化(数百行代码,而不是数千行) Coop中的任务渴望而不是懒惰,这意味着在暂停后,协程将立即派出,以具有适当亲和力的工人执行。 懒惰地构造事物有很多好处(请参阅本精彩的),Coop选择按照它的方式来做事情,因为: Coop旨在与现有作业/任务图系统互操作 Coop最初是在不使用异常的游戏引擎环境中编写的 对于游戏引擎,具有CPU拓扑感知的分发机制
【文件预览】:
coop-main
----ARCHITECTURE.md(3KB)
----test()
--------test.cpp(4KB)
--------CMakeLists.txt(568B)
----include()
--------coop()
----LICENSE(1KB)
----src()
--------work_queue.cpp(3KB)
--------scheduler.cpp(7KB)
--------event.cpp(4KB)
--------CMakeLists.txt(160B)
----.clang-format(2KB)
----.gitignore(26B)
----CMakeSettings.json(1KB)
----CMakeLists.txt(2KB)
----README.md(12KB)