转载博客 http://www.cnblogs.com/lancidie/archive/2011/12/19/2293773.html


1异步通信概念

高性能的服务器程序使用异步通信机制是必须的。

异步通信就是在咱们与外部的I/O设备进行打交道的时候,外部设备的I/O和CPU比简直就是龟速,

比如硬盘读写,网络通信等, 没有必要再自己的线程里等待I/O操作完成在执行后续代码,

而是将这个请求交给设备的驱动程序去处理,我们线程可以继续做其他重要的事,流程图:

h.png

这是一个很明显的并行操作过程,而"同步"的通信方式在进行网络操作的时候,主线程就挂起了,

主线程等待网络操作完成后,才继续执行后续的代码, 未执行主线程,

"异步"方式 他 肯定比"阻塞+多线程"方式效率高,这也是前者叫异步,后者叫同步

的原因了.因为不需要等待网络操作完成再执行别的操作。