自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

1分鐘了解Leader-Follower線程模型

開發(fā) 開發(fā)工具
今天我們來快速了解一下Leader-Follower線程模型。

先給大家看一個圖

L/F多線程模型的狀態(tài)變遷圖

上圖就是L/F多線程模型的狀態(tài)變遷圖,共6個關(guān)鍵點(diǎn):

(1)線程有3種狀態(tài):領(lǐng)導(dǎo)leading,處理processing,追隨following

(2)假設(shè)共N個線程,其中只有1個leading線程(等待任務(wù)),x個processing線程(處理),余下有N-1-x個following線程(空閑)

(3)有一把鎖,誰搶到就是leading

(4)事件/任務(wù)來到時,leading線程會對其進(jìn)行處理,從而轉(zhuǎn)化為processing狀態(tài),處理完成之后,又轉(zhuǎn)變?yōu)閒ollowing

(5)丟失leading后,following會嘗試搶鎖,搶到則變?yōu)閘eading,否則保持following

(6)following不干事,就是搶鎖,力圖成為leading

優(yōu)點(diǎn):不需要消息隊列

適用場景:線程能夠很快的完成工作任務(wù)

有人說“并發(fā)量大時,L/F的鎖容易成為系統(tǒng)瓶頸,需要引入一個消息隊列解決。”

此觀點(diǎn)不對,一個消息隊列,其仍是臨界資源,仍需要一把鎖來保證互斥,只是鎖競爭從leading移到了消息隊列上,此時消息隊列僅僅只能起到消息緩沖的作用。

根本解決方案是降低鎖粒度(例如多個隊列)。

 

F-L線程模型,可以考慮使用喲?

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2022-12-16 09:55:50

網(wǎng)絡(luò)架構(gòu)OSI

2018-03-12 21:31:24

區(qū)塊鏈

2018-03-12 14:37:50

區(qū)塊鏈比特幣架構(gòu)

2018-03-23 11:56:09

相似性推薦推薦算法推薦

2018-03-23 11:23:14

2018-03-23 11:33:56

協(xié)同過濾程序算法

2018-08-27 16:15:20

數(shù)據(jù)庫MyISAMInnoDB

2018-03-23 11:46:49

基于內(nèi)容的推薦職位推薦集群

2018-05-06 16:26:03

關(guān)聯(lián)規(guī)則數(shù)據(jù)分析關(guān)聯(lián)規(guī)則推薦

2009-11-05 14:53:54

Visual Stud

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2020-10-13 18:22:58

DevOps工具開發(fā)

2023-09-07 23:52:50

Flink代碼

2021-04-30 16:23:58

WebRTC實時音頻

2023-12-28 13:47:24

Redis高可用

2017-07-06 08:12:02

索引查詢SQL

2022-07-18 06:16:07

單點(diǎn)登錄系統(tǒng)

2024-06-25 12:25:12

LangChain路由鏈

2009-11-09 12:55:43

WCF事務(wù)

2021-05-17 20:13:50

數(shù)倉操作型數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號