1. 并發(fā):在操作系統(tǒng)中,是指一個時間段中有幾個程序都處于已啟動運行到運行完畢之間,且這幾個程序都是在同一個處理機上運行。其中兩種并發(fā)關(guān)系分別是同步和互斥
2. 互斥:進程間相互排斥的使用臨界資源的現(xiàn)象,就叫互斥。
3. 同步:進程之間的關(guān)系不是相互排斥臨界資源的關(guān)系,而是相互依賴的關(guān)系。進一步的說明:就是前一個進程的輸出作為后一個進程的輸入,當(dāng)?shù)谝粋€進程沒有輸出時第二個進程必須等待。具有同步關(guān)系的一組并發(fā)進程相互發(fā)送的信息稱為消息或事件。
其中并發(fā)又有偽并發(fā)和真并發(fā),偽并發(fā)是指單核處理器的并發(fā),真并發(fā)是指多核處理器的并發(fā)。
4. 并行:在單處理器中多道程序設(shè)計系統(tǒng)中,進程被交替執(zhí)行,表現(xiàn)出一種并發(fā)的外部特種;在多處理器系統(tǒng)中,進程不僅可以交替執(zhí)行,而且可以重疊執(zhí)行。在多處理器上的程序才可實現(xiàn)并行處理。從而可知,并行是針對多處理器而言的。并行是同時發(fā)生的多個并發(fā)事件,具有并發(fā)的含義,但并發(fā)不一定并行,也亦是說并發(fā)事件之間不一定要同一時刻發(fā)生。
5. 多線程:多線程是程序設(shè)計的邏輯層概念,它是進程中并發(fā)運行的一段代碼。多線程可以實現(xiàn)線程間的切換執(zhí)行。
6. 異步:異步和同步是相對的,同步就是順序執(zhí)行,執(zhí)行完一個再執(zhí)行下一個,需要等待、協(xié)調(diào)運行。異步就是彼此獨立,在等待某事件的過程中繼續(xù)做自己的事,不需要等待這一事件完成后再工作。線程就是實現(xiàn)異步的一個方式。異步是讓調(diào)用方法的主線程不需要同步等待另一線程的完成,從而可以讓主線程干其它的事情。
異步和多線程并不是一個同等關(guān)系,異步是最終目的,多線程只是我們實現(xiàn)異步的一種手段。異步是當(dāng)一個調(diào)用請求發(fā)送給被調(diào)用者,而調(diào)用者不用等待其結(jié)果的返回而可以做其它的事情。實現(xiàn)異步可以采用多線程技術(shù)或則交給另外的進程來處理。
新聞熱點
疑難解答