没有合适的资源?快使用搜索试试~ 我知道了~
协程基础库Libco.zip
共25个文件
cpp:13个
h:6个
makefile:1个
需积分: 10 3 下载量 60 浏览量
2019-07-19
07:27:27
上传
评论
收藏 42KB ZIP 举报
温馨提示
libco 是腾讯开源的一个有趣的协程基础库,仅有的几个函数接口 co_create/co_resume/co_yield 再配合 co_poll, 可以支持同步或者异步的写法,如线程库一样轻松,库里面提供了socket族函数的hook,包含如下内容:pthread风格的coroutine接口封装事件循环以及超时机制基于glibc-2.17源码修改的一个swapcontext高性能汇编版本socket函数的coroutine hook,阻塞式的socket调用会直接切换为异步调用适用场景:已有大量的同步调用网络库,例如HttpGet/Memcache_cli/..., 并基于这些函数实现了大量复杂的业务逻辑,它们跑在多进程或者多线程环境下,希望改造为异步服务改造方法:在进程/线程内创建多个coroutine( 使用co_create ),每个routine内部enable_sys_hook, 业务逻辑代码移到routine里面执行,那你所有的同步代码立即自动切换为异步调用~ 标签:Libco
资源推荐
资源详情
资源评论
收起资源包目录
libco-master.zip (25个子文件)
libco-master
co.mk 2KB
co_routine_specific.h 2KB
co_routine.h 2KB
example_specific.cpp 2KB
example_thread.cpp 1KB
LICENSE.txt 19KB
example_setenv.cpp 2KB
co_closure.h 3KB
example_echosvr.cpp 5KB
example_copystack.cpp 2KB
example_poll.cpp 4KB
example_cond.cpp 2KB
co_routine.cpp 23KB
co_routine_inner.h 2KB
example_echocli.cpp 4KB
co_epoll.h 2KB
README.md 55B
Makefile 2KB
coctx.cpp 3KB
coctx_swap.S 2KB
example_closure.cpp 2KB
co_hook_sys_call.cpp 22KB
co_epoll.cpp 6KB
coctx.h 1KB
.gitignore 5B
共 25 条
- 1
资源评论
普通网友
- 粉丝: 484
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功