您的位置:首页 > 编程语言

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

2013-08-28 14:03 281 查看
单线程服务器和多线程服务器的常用编程模型

1. 单线程服务器编程模型
      在高性能的网络程序中,使用最广泛的的要数"non-blocking IO+IO multiplexing"这种模型,即Reactor模式。

2. 多线程服务器编程模型
      大概有这么几种:
      1. 每个请求创建一个线程,使用阻塞式IO操作。
      2. 使用线程池,同样使用阻塞式IO操作。
      3. 使用non-blocking IO+IO multiplexing。
      4. Leader/Follower等高级模式。
 
总结起来,推荐的C++多线程服务器端编程模式为one(event) loop per thread + thread pool.
event loop(也叫IO loop) 用作IO multiplexing,配合non-blocking IO和定时器。
thread pool用来做计算,具体可以是任务队列和生产者消费者队列。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: