写这个小结主要是因为之前研究Boost.Asio的时候,其内部使用了很多不同的方法来实现异步网络编程 然后就顺便把一些高级的玩意看了一下,也顺便把以前低级的玩意放到一起,哇哈哈。很多东西只是个人的理解,不一定正确

慢慢一点一点看看Boost,这段时间就Asio库吧。 据说这货和libevent的效率差不多,但是Boost的平台兼容性,你懂得。还有它帮忙干掉了很多线程安全和线程分发的事情。

Boost.Asio 依赖项:

  1. Boost.System (所以它必须链接boost_system)
  2. [可选] 如果使用read_until() or async_read_until() 函数,则依赖Boost.Regex(boost_regex)
  3. [可选] SSL功能依赖OpenSSL

先来个简单的,系统信号量 Signal控制:

使用ASIO操作信号量有一个注意事项,不允许再使用其他库或工具管理信号量(如signal() 或 sigaction()函数)