- 博客(1)
- 资源 (2)
- 收藏
- 关注
原创 云风coroutine源码分析
前言 现在C++的开发开始流行使用coroutine,也就是协程。我看腾讯的几个开源项目里面都有协程的实现。使用协程可以用同步的写法,达到异步的性能。它的基本原理其实就是在IO等待的时候切换出去,在适当的时刻再切换回来。云风用200行代码实现了一个最简单的协程,我们先看这个代码了解一下协程的原理,然后再看微信的libco实现。 协程简单介绍 协程可以理解为一个用户级的线程,一个线程里跑多
2018-01-31 17:54:22 1398 1
C++开源协程库libco-原理与应用
使用 C++ 来编写高性能的网络服务器程序,从来都不是件很容易的事情。在没有
应用任何网络框架,从 epoll/kqueue 直接码起的时候尤其如此。即便使用 libevent, libev
这样事件驱动的网络框架去构建你的服务,程序结构依然不会很简单。为何会这样?因
为这类框架提供的都是非阻塞式的、异步的编程接口,异步的编程方式,这需要思维方
式的转变。为什么 golang 近几年能够大规模流行起来呢?因为简单。这方面最突出的
一点便是它的网络编程 API,完全同步阻塞式的接口。要并发?go 出一个协程就好了。
相信对于很多人来说,最开始接触这种编程方式,是有点困惑的。程序中到处都是同步
阻塞式的调用,这程序性能能好吗?答案是,好,而且非常好。那么 golang 是如何做
到的呢?秘诀就在它这个协程机制里
2018-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人