草庐IT

c++开源协程库libgo介绍及使用

协程这个概念,最近这几年可是相当地流行了。尤其go语言问世之后,内置的协程特性,完全屏蔽了操作系统线程的复杂细节。甚至使go开发者“只知有协程,不知有线程”了。当然C++也有高性能的协程库,比如我了解到的微信的libco、魅族的libgo、以及libcopp,开源libaco、boost的 coroutine,cppcoro,阿里的雅兰亭库(基于c++20特性封装好用的库)。协程简介协程不是进程或线程,其执行过程更类似于子例程。一个程序可以包含多个协程,我们来比较下协程和线程,加深下对协程的理解。我们知道多个线程相对独立,有自己的上下文,切换受操作系统控制;而协程也相对独立,有自己的上下文,但