麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

并發(fā) 并行 同步 異步 多線程的區(qū)別

2019-11-14 11:59:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1. 并發(fā):在操作系統(tǒng)中,是指一個(gè)時(shí)間段中有幾個(gè)程序都處于已啟動(dòng)運(yùn)行到運(yùn)行完畢之間,且這幾個(gè)程序都是在同一個(gè)處理機(jī)上運(yùn)行。其中兩種并發(fā)關(guān)系分別是同步和互斥2. 互斥:進(jìn)程間相互排斥的使用臨界資源的現(xiàn)象,就叫互斥。3. 同步:進(jìn)程之間的關(guān)系不是相互排斥臨界資源的關(guān)系,而是相互依賴(lài)的關(guān)系。進(jìn)一步的說(shuō)明:就是前一個(gè)進(jìn)程的輸出作為后一個(gè)進(jìn)程的輸入,當(dāng)?shù)谝粋€(gè)進(jìn)程沒(méi)有輸出時(shí)第二個(gè)進(jìn)程必須等待。具有同步關(guān)系的一組并發(fā)進(jìn)程相互發(fā)送的信息稱(chēng)為消息或事件。其中并發(fā)又有偽并發(fā)和真并發(fā),偽并發(fā)是指單核處理器的并發(fā),真并發(fā)是指多核處理器的并發(fā)。4. 并行:在單處理器中多道程序設(shè)計(jì)系統(tǒng)中,進(jìn)程被交替執(zhí)行,表現(xiàn)出一種并發(fā)的外部特種;在多處理器系統(tǒng)中,進(jìn)程不僅可以交替執(zhí)行,而且可以重疊執(zhí)行。在多處理器上的程序才可實(shí)現(xiàn)并行處理。從而可知,并行是針對(duì)多處理器而言的。并行是同時(shí)發(fā)生的多個(gè)并發(fā)事件,具有并發(fā)的含義,但并發(fā)不一定并行,也亦是說(shuō)并發(fā)事件之間不一定要同一時(shí)刻發(fā)生。

5. 多線程:多線程是程序設(shè)計(jì)的邏輯層概念,它是進(jìn)程中并發(fā)運(yùn)行的一段代碼。多線程可以實(shí)現(xiàn)線程間的切換執(zhí)行。

6. 異步:異步和同步是相對(duì)的,同步就是順序執(zhí)行,執(zhí)行完一個(gè)再執(zhí)行下一個(gè),需要等待、協(xié)調(diào)運(yùn)行。異步就是彼此獨(dú)立,在等待某事件的過(guò)程中繼續(xù)做自己的事,不需要等待這一事件完成后再工作。線程就是實(shí)現(xiàn)異步的一個(gè)方式。異步是讓調(diào)用方法的主線程不需要同步等待另一線程的完成,從而可以讓主線程干其它的事情。   異步和多線程并不是一個(gè)同等關(guān)系,異步是最終目的,多線程只是我們實(shí)現(xiàn)異步的一種手段。異步是當(dāng)一個(gè)調(diào)用請(qǐng)求發(fā)送給被調(diào)用者,而調(diào)用者不用等待其結(jié)果的返回而可以做其它的事情。實(shí)現(xiàn)異步可以采用多線程技術(shù)或則交給另外的進(jìn)程來(lái)處理。

為了對(duì)以上概念的更好理解舉一個(gè)簡(jiǎn)單例子,  假設(shè)我要做 燒開(kāi)水,舉杠鈴100下, 洗衣服 3件事情。燒開(kāi)水 這件事情,  我要做的事情為, 準(zhǔn)備燒開(kāi)水 1分鐘, 等開(kāi)水燒開(kāi) 8 分鐘 , 關(guān)掉燒水機(jī) 1分鐘舉杠鈴100下        我要做的事情為,  舉杠鈴100下  10分鐘洗衣服            我要做的事情為, 準(zhǔn)備洗衣服 1分鐘, 等開(kāi)水燒開(kāi) 5 分鐘 , 關(guān)掉洗衣機(jī) 1分鐘單核情況下同步的完成,我需要做的時(shí)間為 1+ 8 +1 + 10 + 1+ 5 +1 = 27 分如果異步,就是在等的時(shí)候,我可以切換去做別的事情準(zhǔn)備燒開(kāi)水(1) + 準(zhǔn)備洗衣服(1) + 舉50下杠鈴 (5)分鐘+ 關(guān)洗衣機(jī) 1分鐘 + 舉杠鈴20下 (2)分鐘+ 關(guān)燒水機(jī) 1分鐘 + 舉30下杠鈴(3)分鐘1+1+5+1+2+1+3 =14 分鐘

雙核 異步 并行核1  準(zhǔn)備燒開(kāi)水 1分鐘+ 舉杠鈴50下(5)分鐘+ 等待3分鐘 + 關(guān)掉燒水機(jī) 1分鐘核2  準(zhǔn)備洗衣服 1分鐘+ 舉杠鈴50下(5)分鐘+ 關(guān)掉洗衣機(jī) 1分鐘 + 等待3分鐘其實(shí)只花了 1+5+3+1 = 10分鐘其中還有雙核都等待了3分鐘

雙核 異步 非并行核1  舉杠鈴100下(10)分鐘核2  準(zhǔn)備燒開(kāi)水 1分鐘+ 準(zhǔn)備洗衣服 1分鐘+ 等待5 分鐘+ + 關(guān)掉燒水機(jī) 1分鐘  + 等待 1 分鐘 + 關(guān)掉洗衣機(jī) 1分鐘其實(shí)只花了 1+5+3+1 = 10分鐘

多線程的做法單核下線程1  準(zhǔn)備燒開(kāi)水 1分鐘, 等開(kāi)水燒開(kāi) 8 分鐘 , 關(guān)掉燒水機(jī) 1分鐘線程2  舉杠鈴100下  10分鐘線程3  準(zhǔn)備洗衣服 1分鐘, 等開(kāi)水燒開(kāi) 5 分鐘 , 關(guān)掉洗衣機(jī) 1分鐘cpu 可能這么切換 最理想的切換方式線程1  準(zhǔn)備燒開(kāi)水1  sleep  1          sleep 5            sleep 1          sleep 2          關(guān)開(kāi)水 1分鐘 exit線程2    sleep 1      sleep  1            舉杠鈴50 5分鐘    sleep 1          舉杠鈴20 2分鐘  sleep1      舉杠鈴30下 3分鐘      線程3    sleep  1      準(zhǔn)備洗衣服1 分鐘    sleep 5            關(guān)洗衣機(jī)1分鐘    exit最后使用了  14分鐘  和異步是一樣的。但是實(shí)際上是不一樣的,因?yàn)榫€程不會(huì)按照我們?cè)O(shè)想的去跑, 如果線程2 舉杠鈴先跑,整個(gè)流程的速度就下來(lái)了。異步和同步的區(qū)別,  在io等待的時(shí)候,同步不會(huì)切走,浪費(fèi)了時(shí)間。如果都是獨(dú)占cpu 的業(yè)務(wù), 比如舉杠鈴的業(yè)務(wù), 在單核情況下 多線和單線 沒(méi)有區(qū)別。多線程的好處,比較容易的實(shí)現(xiàn)了 異步切換的思想, 因?yàn)楫惒降某绦蚝茈y寫(xiě)的。多線程本身程還是以同步完成,但是應(yīng)該說(shuō)比效率是比不上異步的。 而且多線很容易寫(xiě), 相對(duì)效率也高。多核的好處,就是可以同時(shí)做事情, 這個(gè)和單核完全不一樣的。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄色片免费在线播放 | 国产91精品亚洲精品日韩已满 | 亚洲精品自在在线观看 | 天天操天天碰 | 国产免费传媒av片在线 | 国语自产免费精品视频在 | 美国黄色毛片女人性生活片 | 好吊色欧美一区二区三区四区 | 亚州综合| 圆产精品久久久久久久久久久 | 欧洲成人一区二区 | 日本欧美一区二区 | 成人免费看视频 | 姑娘第四集免费看视频 | 国产乱轮视频 | 欧美激情第一区 | 精品一区二区在线播放 | 亚洲婷婷日日综合婷婷噜噜噜 | 久久91精品视频 | 久久久久一区二区三区四区五区 | 日韩黄在线观看 | 日本在线视频一区二区三区 | 欧美成人精品一区二区 | 欧洲精品久久 | 精品国产亚洲人成在线 | 国产精品久久久久久久久久妇女 | 蜜桃视频网站在线观看 | 一级做a爱片性色毛片 | 在线a毛片 | 亚洲一二区视频 | 免费国产在线视频 | 久久性生活免费视频 | 国产成人高清在线 | 久久久久久中文字幕 | 高清做爰免费无遮网站挡 | 欧美激情 在线播放 | 精品无码久久久久久国产 | 日本精品免费观看 | 奶子吧naiziba.cc免费午夜片在线观看 | 欧美成人免费在线视频 | 日本在线观看一区二区 |