1. 程式人生 > >並發和並行

並發和並行

食堂 進程 bsp 意義 進程和線程 資源 容易 死鎖 導致

CPU核心數和線程數的關系

核心數:線程數=1:1 ;使用了超線程技術後---> 1:2

CPU時間片輪轉機制

又稱RR調度,會導致上下文切換

什麽是進程和線程

進程:程序運行資源分配的最小單位,進程內部有多個線程,會共享這個進程的資源

線程:CPU調度的最小單位,必須依賴進程而存在。

澄清並行和並發

並行:同一時刻,可以同時處理事情的能力(強調同一時刻)

舉例:比如說一個食堂,有8個窗口,同一時刻可以有8個人同時打飯,那麽我們就說這個食堂並行能力是8

並發:與單位時間相關,在單位時間內可以處理事情的能力(強調時間段內)

舉例:比如說一個食堂,有8個窗口,每個窗口打飯需要花費30秒,那我們就說這個食堂的並發能力是每分鐘16個。

高並發編程的意義、好處和註意事項

好處:充分利用cpu的資源、加快用戶響應的時間,程序模塊化,異步化

問題:

線程共享資源,存在沖突;

容易導致死鎖;

啟用太多的線程,就有搞垮機器的可能

並發和並行