基于汇编的 C/C++ 协程 - 切换上下文

2018-02-06
阅读 5 分钟
8.4k
其中调度,其实在技术实现上与其他的线程、进程调度没有什么特别的差异,同时也要看具体业务的需求。限制 C/C++ 协程应用的最大技术条件是上下文切换。理由在前文也说了。

基于汇编的 C/C++ 协程 - 背景知识

2018-01-31
阅读 4 分钟
7.5k
近几年来,协程在 C/C++ 服务器中的解决方案开始涌现。本文主要阐述以汇编实现上下文切换的协程方案,并且说明其在异步开发模式中的应用。 本文地址:[链接] 首先,我们来看一下 C/C++ 服务器开发的历史。 参考资料 协程 - 维基百科,自由的百科全书 异步IO - 维基百科,自由的百科全书 基于 epoll 设计类似 libevent 的...

Libevent 官方文档学习笔记(3. evbuffer部分)

2016-07-04
阅读 6 分钟
9.6k
本文地址:[链接]  Evbuffers: 缓冲化的I/O实用工具  头文件:<event2/buffer.h> Evbuffer基本操作 {代码...} 创建/销毁evbuffer {代码...} 第一个函数,参数locking传入的参数是一个锁。可以传入NULL,让evbffer自动创建一个锁。 {代码...} 第一个函数,获取当前evbuffer的总数据长度。第二个函数,由于数据在e...

Libevent 官方文档学习笔记(2. bufferevent部分)

2016-05-31
阅读 8 分钟
16.2k
evutil_socket_tSocket的抽象。除了Windows之外,其他系统都是一个int类型。如果考虑Windows的兼容性的话,建议用这个类型。

Libevent 官方文档学习笔记(1. libevent_core部分)

2016-05-30
阅读 9 分钟
23.8k
初入libevent的人,很可能是第一次接触异步编程。Libevent的编程思想,建议还是多看前人的程序,或者是看libevent本身的文档学习。或者是介绍另外一个库,那就是libuv,它是libev某种意义上的的替代品(而libev又可以算是libevent的某种替代品笑)。libuv的文档我记得也有对异步编程的介绍。好了,这不是本文的内容。