转 一个基于ACE的负载自适应万能线程池实现

本文探讨了一种改进并发处理的模式——领导者/追随者线程池模型,旨在将业务逻辑与并发逻辑分离,使业务逻辑设计者专注于自己的业务代码,而无需担心线程管理等细节。通过引入通用的并发框架,简化了服务器程序中多线程的使用,提升代码可读性和维护性。

http://www.cnblogs.com/HappyXie/archive/2011/03/02/1968802.html

 

 在C++中要进行并发处理,不可避免要使用多线程,在传统的教科书中,大家都是采用最原始的多线程技术,应用逻辑和线程并发策略紧密绑定。
      在一个典型的服务器程序中,客户端的请求往往包含了很多不同的逻辑命令,如在一个线程处理函数中,需要根据客户端的命令代码处理不同的业务逻辑:

int thrad_main(int cmd_id,char *data){
   switch(cmd_id)
   {
   case 1:
      ...
      break;
   case 2:
      ...
      break;
   }
}

   如此这般,业务处理逻辑和线程逻辑紧密耦合,这是一种很“丑陋”的代码。
   如何通过一种优雅的方法,分离并发逻辑和业务逻辑,通过通用的并发框架,业务逻辑设计者只需要关心自己的逻辑代码,交给“线程池”去处理即可,而不需要去关心如何创建线程,等待线程结果这些琐碎的“小事”?

   很简单,高手出招,必谈模式,下面是一种常用的并发模式,领导者/追随者线程池模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值