libco支持的特性

libco

http://code.tencent.com/libco.html
https://github.com/tencent/libco
https://code.csdn.net/Tencent/libco/tree/master

libco是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上。libco在2013年的时候作为腾讯六大开源项目首次开源,我们最近做了一次较大的更新,同步更新在https://github.com/tencent/libco 上。libco支持后台敏捷的同步风格编程模式,同时提供系统的高并发能力。

微信是如何用libco支撑8亿用户的
C/C++协程库libco:微信怎样漂亮地完成异步化改造
腾讯协程库libco的原理分析 以example_echosvr.cpp为例

libco支持的特性

无需侵入业务逻辑,把多进程、多线程服务改造成协程服务,并发能力得到百倍提升;

支持CGI框架,轻松构建web服务(New);

支持gethostbyname、mysqlclient、ssl等常用第三库(New);

可选的共享栈模式,单机轻松接入千万连接(New);

完善简洁的协程编程接口

  • 类pthread接口设计,通过co_create、co_resume等简单清晰接口即可完成协程的创建与恢复;
  • 类__thread的协程私有变量、协程间通信的协程信号量co_signal (New);
  • 非语言级别的lambda实现,结合协程原地编写并执行后台异步任务 (New);
  • 基于epoll/kqueue实现的小而轻的网络框架,基于时间轮盘实现的高性能定时器;