摘要: Libco 协程的生命周期 创建协程(Creating coroutines) 前文已提到,libco 中创建协程是 co_create() 函数。函数声明如下: 1 int co_create( stCoRoutine_t **co,const stCoRoutineAttr_t *attr,vo 阅读全文
posted @ 2021-07-18 22:59 Mr-xxx 阅读(203) 评论(0) 推荐(0) 编辑
摘要: libco 的协程 通过上一篇的分析,我们已经对 libco 中的协程有了初步的印象。我们完全可以把 它当做一种用户态线程来看待,接下来我们就从线程的角度来开始探究和理解它的实现机制。 以 Linux 为例,在操作系统提供的线程机制中,一个线程一般具备下列要素: (1) 有一段程序供其执行,这个是显 阅读全文
posted @ 2021-07-18 22:15 Mr-xxx 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 导论 使用 C++ 来编写高性能的网络服务器程序,从来都不是件很容易的事情。在没有应用任何网络框架,从 epoll/kqueue 直接码起的时候尤其如此。即便使用 libevent, libev 这样事件驱动的网络框架去构建你的服务,程序结构依然不会很简单。为何会这样?因为这类框架提供的都是非阻塞式 阅读全文
posted @ 2021-07-18 21:25 Mr-xxx 阅读(531) 评论(0) 推荐(0) 编辑