新聞中心
先給大家看一個(gè)圖

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),阿克蘇企業(yè)網(wǎng)站建設(shè),阿克蘇品牌網(wǎng)站建設(shè),網(wǎng)站定制,阿克蘇網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,阿克蘇網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
上圖就是L/F多線程模型的狀態(tài)變遷圖,共6個(gè)關(guān)鍵點(diǎn):
(1)線程有3種狀態(tài):領(lǐng)導(dǎo)leading,處理processing,追隨following
(2)假設(shè)共N個(gè)線程,其中只有1個(gè)leading線程(等待任務(wù)),x個(gè)processing線程(處理),余下有N-1-x個(gè)following線程(空閑)
(3)有一把鎖,誰(shuí)搶到就是leading
(4)事件/任務(wù)來(lái)到時(shí),leading線程會(huì)對(duì)其進(jìn)行處理,從而轉(zhuǎn)化為processing狀態(tài),處理完成之后,又轉(zhuǎn)變?yōu)閒ollowing
(5)丟失leading后,following會(huì)嘗試搶鎖,搶到則變?yōu)閘eading,否則保持following
(6)following不干事,就是搶鎖,力圖成為leading
優(yōu)點(diǎn):不需要消息隊(duì)列
適用場(chǎng)景:線程能夠很快的完成工作任務(wù)
有人說(shuō)“并發(fā)量大時(shí),L/F的鎖容易成為系統(tǒng)瓶頸,需要引入一個(gè)消息隊(duì)列解決?!?/p>
此觀點(diǎn)不對(duì),一個(gè)消息隊(duì)列,其仍是臨界資源,仍需要一把鎖來(lái)保證互斥,只是鎖競(jìng)爭(zhēng)從leading移到了消息隊(duì)列上,此時(shí)消息隊(duì)列僅僅只能起到消息緩沖的作用。
根本解決方案是降低鎖粒度(例如多個(gè)隊(duì)列)。
F-L線程模型,可以考慮使用喲?
【本文為專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】
戳這里,看該作者更多好文
文章標(biāo)題:1分鐘了解Leader-Follower線程模型
當(dāng)前鏈接:http://www.dlmjj.cn/article/dpjsgjd.html


咨詢
建站咨詢
