使用C++来编写高性能的网络服务器程序,从来都不是件很容易的事情。在没有应用任何网络框架,从epoll/kqueue直接码起的时候尤其如此。即便使用libevent,libev这样事件驱动的网络框架去构建你的服务,程序结构依然不会很简单。为何会这样?因为这类框架提供的都是非阻塞式的、异步的编程接口,异步的编程方式,这需要思维方式的转变。为什么golang近几年能够大规模流行起来呢?因为简单。这方面最突出的一点便是它的网络编程API,完全同步阻塞式的接口。要并发?go出一个协程就好了。相信对于很多