oceanbase / miniob

MiniOB is a compact database that assists developers in understanding the fundamental workings of a database.
https://oceanbase.github.io/miniob/
Mulan Permissive Software License, Version 2
2.86k stars 1.01k forks source link

线程模型支持协程 #375

Open hnwyllmm opened 1 month ago

hnwyllmm commented 1 month ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

当前线程模型支持一个连接一个线程和线程池模式,我们可以扩展更多的线程模型。协程可以让程序运行的更加高效,已经有比较多的开源库支持了协程开发,并且较新的C++标准也对协程做了支持。

Describe the solution you'd like A clear and concise description of what you want to happen.

引入第三方协程库或者依赖新的C++标准实现自己的协程库。

第三方库比如 boost、libco、libgo等。

Additional context Add any other context or screenshots about the feature request here.

协程对应用层程序开发和库本身都有较高的要求,一些耗时的系统调用,比如 connect、read、write 等都可以在协程库实现hook,但是像mutex等,如果实现不好或者使用不当,会导致系统很不稳定。