libco是腾讯开源的一个有趣的协程基础库,仅有的几个函数接口 co_create/co_resume/co_yield 再配合co_poll,可以支持同步或者异步的写法,如线程库一样轻松,库里面提供了socket族函数的hook,包含如下内容:pthread风格的coroutine接口封装事件循环以及超时机制基于glibc-2.17源码修改的一个swapcontext高性能汇编版本socket函数的coroutinehook,阻塞式的socket调用会直接切换为异步调用适用场景:已有大量的同步调用网络库,例如HttpGet/Memcache_cli/...,并基于这些函数实现了大量复杂的业务逻辑,它们跑在多进程或者多线程环境下,希望改造为异步服