線程 (並發 互斥 同步 並行 多線程 非同步),互斥多線程

來源:互聯網
上載者:User

線程 (並發 互斥 同步 並行 多線程 非同步),互斥多線程

1. 並發:在作業系統中,是指一個時間段中有幾個程式都處於已啟動運行到運行完畢之間,且這幾個程式都是在同一個處理機上運行。其中兩種並發關係分別是同步和互斥


2. 互斥:進程間相互排斥的使用臨界資源的現象,就叫互斥。


3. 同步:進程之間的關係不是相互排斥臨界資源的關係,而是相互依賴的關係。進一步的說明:就是前一個進程的輸出作為後一個進程的輸入,當第一個進程沒有輸出時第二個進程必須等待。具有同步關係的一組並發進程相互發送的資訊稱為訊息或事件。
其中並發又有偽並發和真並發,偽並發是指單核處理器的並發,真並發是指多核處理器的並發。


4. 並行:在單一處理器中多道程式設計系統中,進程被交替執行,表現出一種並發的外部特種;在多處理器系統中,進程不僅可以交替執行,而且可以重疊執行。在多處理器上的程式才可實現平行處理。從而可知,並行是針對多處理器而言的。並行是同時發生的多個並發事件,具有並發的含義,但並發不一定並行,也亦是說並發事件之間不一定要同一時刻發生。

5. 多線程:多線程是程式設計的邏輯層概念,它是進程中並發啟動並執行一段代碼。多線程可以實現線程間的切換執行。

6. 非同步:非同步和同步是相對的,同步就是順序執行,執行完一個再執行下一個,需要等待、協調運行。非同步就是彼此獨立,在等待某事件的過程中繼續做自己的事,不需要等待這一事件完成後再工作。線程就是實現非同步一個方式。非同步是讓調用方法的主線程不需要同步等待另一線程的完成,從而可以讓主線程幹其它的事情。
   非同步和多線程並不是一個同等關係,非同步是最終目的,多線程只是我們實現非同步一種手段。非同步是當一個調用請求發送給被調用者,而調用者不用等待其結果的返回而可以做其它的事情。實現非同步可以採用多線程技術或則交給另外的進程來處理。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.