Chinaunix首页 | 论坛 | 博客
  • 博客访问: 328935
  • 博文数量: 100
  • 博客积分: 2620
  • 博客等级: 少校
  • 技术积分: 920
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-16 02:50
文章分类

全部博文(100)

文章存档

2011年(5)

2010年(12)

2009年(83)

分类:

2009-12-04 13:22:37

进程池与线程池
    自己胡乱写一点理解,以作记录,没有逻辑,没有主题,没有结论,欢迎拍拍。
   这两种模式在服务器开发中还是用得比较多。技术本无所谓好坏,不同技术都有自己的特点和缺点,只有他们的适用场合不同而已。进程池的最大好处在于任务的隔离性,不同进程处理的任务之间是相互独立,互不影响的,即使某个进程再处理某个用户的某个请求是crash了,也不会影响整个程序的执行。而线程池则正好相反,某个现场崩溃了,其他线程也不会有好果子吃,大家一起归西!很多人选择进程池就是因为这个原因,但是也不意味着进程池里面就可以随便crash了,作为服务器程序员,不断追求完美,处理所以可能和不可能发生的异常情况,精雕细琢内存的使用本来就是份内事.
    线程池的优点之一就是现场切换代价小,而且数据共享容易(这也可以说成是它的缺点),处理重复的小任务还是比较好的.
   市面上有些进程池框架是对每个用户连接一个进程进行处理,这种方式下并发量恐怕上不来(如果你的应用本来就不要球并发就没的说了),这样每个用户就和一个特定进程关联了。银行系统里面应该用得比较多,他们不缺钱,他们要尽可能杜绝用户之间相互影响。如果有一个主进程来处理解析协议和业务逻辑,每个进程只是作为工作进程,从队列里面取任务进行处理,如果进程过多,切换开销会很客观,但是如果你本来就是多核的服务器,而且进程数很少,且在这样的配置下,你的业务运行得很好,那也没的说了。
阅读(3693) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~