如何理解java中的并發編程與多線程?
并發:同一時間段有幾個程序都處于已經啟動到運行完畢之間,并且這幾個程序都在同一個處理機上運行,并發的兩種關系是同步和互斥;
互斥:進程之間訪問臨界資源時相互排斥的現象;
同步:進程之間存在依賴關系,一個進程結束的輸出作為另一個進程的輸入。具有同步關系的一組并發進程之間發送的信息稱為消息或者事件;
并行:單處理器中進程被交替執行,表現出一種并發的外部特征;在多處理器中,進程可以交替執行,還能重疊執行,實現并行處理,并行就是同事發生的多個并發事件,具有并發的含義,但并發不一定是并行,也就是說事件之間不一定要同一時刻發生;
多線程:多線程是進程中并發運行的一段代碼,能夠實現線程之間的切換執行;
異步:和同步相對,同步是順序執行,而異步是彼此獨立,在等待某個事件的過程中繼續做自己的事,不要等待這一事件完成后再工作。線程是實現異步的一個方式,異步是讓調用方法的主線程不需要同步等待另一個線程的完成,從而讓主線程干其他事情。
異步和多線程:不是同等關系,異步是目的,多線程只是實現異步的一個手段,實現異步可以采用多線程技術或者交給其他進程來處理。
上一篇怎么開發gui庫