五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

秒殺多線程-PV操作

2023-03-20 21:36 作者:ベ計(jì)院小白隆ミ  | 我要投稿

PV操作由P操作原語(yǔ)和V操作原語(yǔ)組成(原語(yǔ)也叫原子操作Atomic Operation,是不可中斷的過(guò)程),對(duì)信號(hào)量(注意不要和Windows中的信號(hào)量機(jī)制相混淆)進(jìn)行操作,具體定義如下:

P(S):

1.將信號(hào)量S的值減1,即S=S-1;

2.如果S>=0,則該進(jìn)程繼續(xù)執(zhí)行;否則該進(jìn)程置為等待狀態(tài)。


V(S):

1.將信號(hào)量S的值加1,即S=S+1;

2.該進(jìn)程繼續(xù)執(zhí)行;如果該信號(hào)的等待隊(duì)列中有等待進(jìn)程就喚醒一等待進(jìn)程。

用PV操作實(shí)現(xiàn)多線程的同步與互斥是非常簡(jiǎn)單的,只要考慮邏輯處理上合理嚴(yán)密而不用考慮具體技術(shù)細(xì)節(jié),因此與寫偽代碼較為相似。比如有多個(gè)進(jìn)程P1、P2、 ……PN。它們要互斥的訪問(wèn)一個(gè)資源。用PV操作來(lái)實(shí)現(xiàn)就非常方便直觀。下面是PV操作代碼:

設(shè)置信號(hào)量為S,初值為1。各進(jìn)程的操作流程如下:

進(jìn)程P1

P(S);

訪問(wèn)資源;

V(S);


進(jìn)程P2

P(S);

訪問(wèn)資源;

V(S);

...

進(jìn)程Pn

P(S);

訪問(wèn)資源;

V(S);


可以看出PV操作會(huì)忽略具體的編程細(xì)節(jié),讓程序員的主要精力放在線程同步互斥的邏輯處理上。因此,通過(guò)練習(xí)PV操作能快速有效提高程序員對(duì)多線程的邏輯思維能力,達(dá)到強(qiáng)化“內(nèi)功”的目的。

放水果

桌上有一空盤,允許存放一個(gè)水果。爸爸可向盤中放蘋果,也可向盤中放桔子,兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當(dāng)盤空時(shí)一次只能放一個(gè)水果供吃者取用,請(qǐng)用P、V原語(yǔ)實(shí)現(xiàn)爸爸、兒子、女兒三個(gè)并發(fā)進(jìn)程的同步。

分析問(wèn)題:

1.爸爸等待盤子空

2.兒子等待盤中水果是桔子

3.女兒等待盤中水果是蘋果

可以看出沒(méi)有互斥資源。先設(shè)置三個(gè)信號(hào)量,信號(hào)量Orange表示盤中有桔子,初值為0。信號(hào)量Apple表示盤中有蘋果,初值為0。信號(hào)量EmptyDish表示盤子為空,初值為1。三個(gè)人的操作流程如下所示:

1.爸爸

2.兒子

3.女兒

安全島

在南開(kāi)大學(xué)至天津大學(xué)間有一條彎曲的路,每次只允許一輛自行車通過(guò),但中間有小的安全島M(同時(shí)允許兩輛車),可供兩輛車在已進(jìn)入兩端小車錯(cuò)車,設(shè)計(jì)算法并使用P,V實(shí)現(xiàn)。

分析問(wèn)題:

1.從N到T出發(fā)的人需要等到上個(gè)出發(fā)的人到達(dá)T且道路K上沒(méi)有人,從T到N的也類似

2.道路K和L上只能有一輛自行車行駛

分析之后,下面就用PV原語(yǔ)給出答案(考研輔導(dǎo)書上的答案):

設(shè)置信號(hào)量NT表示在路口N且從N到T方向上允許出發(fā)的自行車數(shù)量,初值為1。信號(hào)量TN表示在路口T且從T到N方向上允許出發(fā)的自行車數(shù)量,初值為1。信號(hào)量K和L表示道路,初值均為1。這樣從N到T的車和從T到N的車的行駛流程如下:

這個(gè)題目的解法有很多,比如還可以用信號(hào)量M來(lái)記錄安全島M上空位個(gè)數(shù),初值為2。每個(gè)進(jìn)入道路前的人都要先預(yù)訂安全島上的空位,訂到后再互斥的進(jìn)入道路。否則就要等待安全島上有空位。信號(hào)量K和L表示道路,初值均為1。然后從N到T的車和從T到N的車的行駛流程如下:


參考:https://blog.csdn.net/morewindows/article/details/7650470


秒殺多線程-PV操作的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
峨眉山市| 柳河县| 普洱| 乳源| 涿州市| 黄石市| 太谷县| 湖南省| 永善县| 新营市| 香港 | 常熟市| 泸定县| 沙雅县| 洞头县| 通榆县| 余姚市| 贡山| 油尖旺区| 滦南县| 门头沟区| 嘉荫县| 岚皋县| 蒲城县| 云龙县| 鲁甸县| 周口市| 浙江省| 惠水县| 东莞市| 万盛区| 阳新县| 肇庆市| 平潭县| 长寿区| 章丘市| 西充县| 将乐县| 桂东县| 乌拉特中旗| 海原县|