1. 程式人生 > >JAVA並發編程>>概念準備

JAVA並發編程>>概念準備

順序執行 怎麽 方式 運行 運行時 調度 開發 管理 代碼

工於其善,必先利器

1、並發和並行的區別

並行:同一時間點執行多個任務(CPU多核或多個CPU同時執行多個任務)

並發:同一時間段內行多個任務(單核同時執行多個任務)

技術分享圖片

2、同步和異步的區別

同步:執行某個操作,按順序執行下去,直到結束。

異步:執行某個操作後,立即離開,等到有返回結果時,回來繼續執行。

技術分享圖片

額,感覺這個描述不怎麽正式。但是我認為異步執行就是為了充分利用執行某項操作需要耗費大量時間,而異步就是為了利用這個時間,提高程序本身的執行效率。

3、進程和線程區別

進程:並發執行計算機程序的分配和管理計算機資源基本單位。

線程:線程是進程的執行單元,是進程的細粒度劃分。

4、為什麽要並發編程

提高對CPU的時間片利用效率,從而提高程序同一時間段處理的業務能力。

5、什麽是線程安全

對於開發者來講,我認為線程安全是用來形容CLASS的,那什麽是一個線程安全的類呢?

當多個線程訪問某個類時,不管運行時環境采用何種調度方式或者這些線程交替執行,並且在主調代碼不需要任何額外的同步或協同,這個類都能表現出正確的行為,那麽就稱該類是線程安全的。

JAVA並發編程>>概念準備