多线程服务器的使用场合与常用编程模型

单线程服务器的常见编程模型:

在高性能的网络程序中,使用得最为广泛的是non-blocking IO + IO multiplexing模型,即reactor模式.

在上述模式中,程序的基本结构是一个事件循环,以事件驱动和事件回调的方式实现业务逻辑。基于事件驱动的编程模型也有其本质的缺点,它要求事件回调函数必须是非阻塞的,对于涉及到网络IO的请求响应式协议,它容易割裂业务逻辑,使其散布于多个回调函数之中,相对不容易理解和维护。

多线程服务器的常用编程模型:

one loop per thread:程序里的每个IO线程有一个event loop(reactor),用于处理读写和定时事件.

线程池:用于计算,可配合任务队列使用

进程间通信只用TCP:(明白TCP相比其他IPC的优势)

 

posted @ 2016-08-08 16:25  合唱团abc  阅读(280)  评论(0编辑  收藏  举报