1、並行
對多處理器而言–多個程式在同一時刻發生,具有併發的含義,但併發不一定並行,也亦是說併發事件之間不一定要同一時刻發生。
並行:在單處理器中多道程式設計系統中,程序被交替執行,表現出一種併發的外部特種;在多處理器系統中,程序不僅可以交替執行,而且可以重疊執行。在多處理器上的程式才可實現並行處理。計算機作業系統中把並行性和併發性明顯區分開,主要是從微觀的角度來說的,具體是指程序的並行性(多處理機的情況下,多個程序同時執行)和併發性(單處理機的情況下,多個程序在同一時間間隔執行的)。
2、併發
對單處理器而言–多個程式在同一時間段發生;
(1) 併發中又有:互斥和同步:
互斥:程序間相互排斥使用臨界資源;比如寫操作;
同步:不是排斥關係而是依賴關係,前一個程序的輸出是後一個程序的輸入,當第一個程序沒有結束時第二個程序必須等待,相互協同完成一些事情;;具有同步關係的一組程序併發時傳送的訊息稱為訊息或者事件;
(2)同步和非同步:
非同步:就是執行緒B在等待A的結果的時候還可以繼續幹自己的事兒,之間通過訊息和事件來通知對方,提高了程式執行的效率。簡而言之,就是不是站在那兒傻傻死等;非同步和多執行緒並不是一回事,非同步是最終目的,多執行緒只是實現的一種方法。
写评论
很抱歉,必須登入網站才能發佈留言。