日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 服務(wù)器 > 《操作系統(tǒng)》――解決并發(fā)進(jìn)程中與時(shí)間有關(guān)的錯(cuò)誤

《操作系統(tǒng)》――解決并發(fā)進(jìn)程中與時(shí)間有關(guān)的錯(cuò)誤

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-07-02 09:02:12 閱讀次數(shù):6043次

    在多道程序設(shè)計(jì)的系統(tǒng)中同時(shí)存在著許多進(jìn)程。他們可能同時(shí)裝入主存,等待處理器的調(diào)度,這就構(gòu)成的并發(fā)進(jìn)程。對(duì)單核處理器來(lái)講,并發(fā)進(jìn)程其實(shí)不是多個(gè)進(jìn)程同時(shí)占用途理器同時(shí)履行,而是同時(shí)裝入主存,至于進(jìn)程甚么時(shí)候被履行,這要看進(jìn)程的調(diào)度策略啦! 談到并發(fā)進(jìn)程,我就想到進(jìn)程的并發(fā)會(huì)產(chǎn)生許多毛病,這些毛病在我們?cè)谠O(shè)計(jì)系統(tǒng)或編寫軟件時(shí)都是盡可能要避免的。 

    那末進(jìn)程的并發(fā)履行為何會(huì)產(chǎn)生毛病那?歸根究竟是并發(fā)進(jìn)程訪問(wèn)同享變量的事,當(dāng)多個(gè)進(jìn)程訪問(wèn)同享變量的進(jìn)程中,就有可能會(huì)產(chǎn)生與時(shí)間有關(guān)的毛病,或是死鎖。

    1、導(dǎo)圖分析


   2、導(dǎo)圖分析

   說(shuō)到進(jìn)程訪問(wèn)同享資源,我覺得首先先明白進(jìn)程的同步與進(jìn)程的互斥問(wèn)題。

   1、進(jìn)程的互斥:指當(dāng)有若干個(gè)進(jìn)程都要使用某1同享資源時(shí),任什么時(shí)候候最多只允許1個(gè)進(jìn)程去使用同享資源,其他要使用的進(jìn)程必須等待,知道該資源的占用者釋放了該資源。

   2、進(jìn)程的同步:在并發(fā)進(jìn)程之間存在1種制約關(guān)系,1個(gè)進(jìn)程的履行依賴另外一個(gè)進(jìn)程的消息,當(dāng)1個(gè)進(jìn)程沒(méi)有得到另外一個(gè)進(jìn)程的消息時(shí)應(yīng)當(dāng)?shù)却老⒌竭_(dá)后才被喚醒。

   3、與時(shí)間有關(guān)的毛病:多個(gè)進(jìn)程共同履行時(shí),交替的訪問(wèn)了同享變量,但是有1個(gè)進(jìn)程由于本身緣由或外界緣由被中斷了后,稍后又接著履行,最后致使運(yùn)行結(jié)果出錯(cuò)。

   例如:

   某小區(qū)有兩扇門,其中1扇門是入口,另外一扇門是出口,用1個(gè)計(jì)數(shù)器count顯示在小區(qū)的人數(shù),當(dāng)有人進(jìn)入時(shí),由進(jìn)程PIN實(shí)現(xiàn)計(jì)數(shù)加1,當(dāng)有人退出時(shí),由進(jìn)程POUT減1。這兩個(gè)進(jìn)程以下

<span style="font-family:KaiTi_GB2312;font-size:18px;">begin count: interge count: =0 cobegin process PIN R1: integer; begin R1:=count; R1:=R1+1; count: =R1; end ; process POUT R2: integer; begin R2:= count; R2:=R2⑴; count:=R2; end; coend; end;</span>
    假定某個(gè)時(shí)候的計(jì)數(shù)值count=n,這時(shí)候有1個(gè)人要進(jìn)入,正好有1個(gè)同時(shí)要出去,因而進(jìn)程PIN和POUT同時(shí)都要履行,如果進(jìn)程PIN和POUT都沒(méi)有被打斷,那末各自完成了count+1和count⑴操作,count還是n,但是若果被打斷了PIN操作,看下圖



這樣履行過(guò)后,結(jié)果會(huì)變成n+1,這就是與時(shí)間有關(guān)的毛病的實(shí)例。

    解決辦法:采取PV操作,引進(jìn)PV操作會(huì)引進(jìn)1個(gè)叫臨界區(qū)的名詞,臨界區(qū)是指并發(fā)進(jìn)程中與同享變量有關(guān)的程序段。相干臨界區(qū)是指并發(fā)進(jìn)程中設(shè)計(jì)到相同變量的那些臨界區(qū)。PV操作的原理是保證1個(gè)進(jìn)程在臨界區(qū)履行時(shí),不讓另外一個(gè)進(jìn)程進(jìn)入相干臨界區(qū)履行,即個(gè)進(jìn)程對(duì)同享變量的訪問(wèn)是互斥的,這就不會(huì)造成與時(shí)間有關(guān)的毛病。對(duì)上面表格的1個(gè)例子來(lái)講,當(dāng)進(jìn)程PIN被打斷后,POU不能訪問(wèn)同享變量count,直到PIN進(jìn)程結(jié)束后才讓POUT訪問(wèn),這樣最后的結(jié)果就正確了。

   3、小結(jié)

    解決并發(fā)進(jìn)程之間的毛病關(guān)鍵就是解決同享變量的訪問(wèn)方式,當(dāng)多個(gè)進(jìn)程都想訪問(wèn)同享變量時(shí),我們1定要管理好各個(gè)進(jìn)程的使用規(guī)律,不然的話程序就會(huì)出錯(cuò)。采取PV操作,讓相干進(jìn)程互斥的進(jìn)入各自的臨界區(qū)履行,這樣就解決了并發(fā)進(jìn)程間與時(shí)間有關(guān)的毛病。好了,并發(fā)進(jìn)程訪問(wèn)同享變量時(shí),還會(huì)產(chǎn)生死鎖,要想看死鎖的構(gòu)成緣由及解決辦法,請(qǐng)關(guān)注我的下1篇博客!

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日韩欧美网 | 久久久久国产视频 | 国产视频在线一区二区 | 视频精品一区二区三区 | 久久性片 | 日韩激情在线观看 | 日韩三级网址 | 91嫩草在线 | 国产福利视频网站 | 91精品久久久久久久蜜月 | 中文在线观看视频 | 亚洲免费观看视频 | 欧美亚洲国产日韩 | 亚洲成人中文 | 国产精品99久久久久久动医院 | www精品| 国产精品久久久久一区二区三区 | 全国免费av| 日韩欧美一区二区视频 | 欧美视频三区 | 国产成人精品毛片 | 三级网站 | 久久久久综合 | 国产精品久久久久久久久久久久久 | 国产视频在线一区 | 国产一区精品视频 | 成人丁香 | 国产99视频精品免费视频7 | 欧美亚洲一区二区三区 | 日韩专区在线播放 | 一区二区福利视频 | 日本久久网 | 国产欧美久久久久久 | 91久久国产 | 国产激情网址 | 亚洲高清中文字幕 | 久久免费视频观看 | 日韩精品一区二区三区四区视频 | 在线免费看毛片 | 国产一区二区av在线 | 国产精品久久毛片av大全日韩 |