高分求解 谁能描述一下leader/follower 模式的线程池 ???

flashboy 2005-07-04 10:17:56
如题目!!
...全文
318 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
whwjn 2006-04-16
  • 打赏
  • 举报
回复
mark
flashboy 2005-07-05
  • 打赏
  • 举报
回复
i see!!谢谢!!
daydaymissyou 2005-07-04
  • 打赏
  • 举报
回复
gz.............................
elssann 2005-07-04
  • 打赏
  • 举报
回复
完成端口本身就是一个L/F的线程池模型。

比如现在创建了2个完成端口线程,,当线程1从GetCompletionQueue这里返回后,如果线程1的处理过程没有超过某个时间段(这个时间段具体多大不清楚),而是很快就返回继续GetCompletionQueue,那么下一次从GetCompletionQueue这里返回的还将继续是线程1,也就是说,OS会一直让线程1来从GetCompletionQueue这里返回,以减少线程的CONTEXT切换代码。。。

如果线程1的的处理过程比较长,那么系统会让线程2从GetCompletionQueue这里返回的,,即使你设置在IOCP上同时只能运行一个线程。。。


简单地描述:线程池某个时候有个LEADER,下面有一群FOLLOWER,当LEADER处理的时候,发现自己可以完全应付目前的任务,很快就可以完成,那么他不会让下面的FOLLOWER去干活的,而是让他们休息。当新来了一件任务,LEADER发现自己要处理这个任务需要比较长的时间,那么他就自动把自己降低为FOLLOWER去处理这新的任务,然后从FOLLOWER中产生一个新的LEADER,


好处就是减少context switch和高速患存的更新代价。
qrlvls 2005-07-04
  • 打赏
  • 举报
回复
Google 就好
http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=leader+follower+thread+pool
http://www.zeroc.com/vbulletin/archive/index.php/t-371.html
Juchiyufei 2005-07-04
  • 打赏
  • 举报
回复
UP

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧