Leader-Follower线程模型的1分钟介绍

赞赏 2017-04-01

1分钟带你了解Leader-Follower线程模型, 下图就是L/F多线程模型的状态变迁图,共6个关键点:



(1)线程有 3种 状态:领导leading处理processing追随following

(2)假设共N个线程,其中只有1个leading线程(等待任务),x个processing线程(处理),余下有N-1-x个following线程(空闲)

(3)有一把锁,谁抢到就是leading

(4)事件/任务来到时,leading线程会对其进行处理,从而转化为processing状态,处理完成之后,又转变为following

(5)丢失leading后,following会尝试抢锁,抢到则变为leading,否则保持following

(6)following不干事,就是抢锁,力图成为leading


优点:不需要消息队列

适用场景:线程能够很快的完成工作任务


有人说“并发量大时,L/F的锁容易成为系统瓶颈,需要引入一个消息队列解决。”

此观点不对,一个消息队列,其仍是临界资源,仍需要一把锁来保证互斥,只是锁竞争从leading移到了消息队列上,此时消息队列仅仅只能起到消息缓冲的作用。


根本解决方案是降低锁粒度(例如多个队列)。


F-L线程模型,可以考虑使用哟

==【完】==


帮忙转发一下吧。

登陆后阅读全文
阅读 1729 赞赏 0 有用 4 没用 0 收藏 0 分享

   



0 条留言

ESTRELA的头像

ESTRELA

架构师之路

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

漫画:如何破解MD5算法?

漫画:什么是MD5算法?

Node也许不是构建大型服务的最佳选择——Node之父Ryan Dahl访谈录

7个有益的编程习惯

58技术部线上操作与线上问题排查实战

不看任何数学公式的情况下理解傅里叶分析

多对多业务,数据库水平切分架构一次搞定

没想到,从人工智能手上救下愚蠢的人类的,竟然是.... 验证码???

或许你不知道的10条SQL技巧((sql 优化 sql索引优化))

怎样才能生成一亿个不重复的随机数 | 算法

手机扫一扫
分享文章