CPU核心數和線程數的關系
核心數:線程數=1:1 ;使用了超線程技術后---> 1:2
CPU時間片輪轉機制
又稱RR調度,會導致上下文切換
什么是進程和線程
進程:程序運行資源分配的最小單位,進程內部有多個線程,會共享這個進程的資源
線程:CPU調度的最小單位,必須依賴進程而存在。
澄清並行和並發
並行:同一時刻,可以同時處理事情的能力(強調同一時刻)
舉例:比如說一個食堂,有8個窗口,同一時刻可以有8個人同時打飯,那么我們就說這個食堂並行能力是8
並發:與單位時間相關,在單位時間內可以處理事情的能力(強調時間段內)
舉例:比如說一個食堂,有8個窗口,每個窗口打飯需要花費30秒,那我們就說這個食堂的並發能力是每分鍾16個。
高並發編程的意義、好處和注意事項
好處:充分利用cpu的資源、加快用戶響應的時間,程序模塊化,異步化
問題:
線程共享資源,存在沖突;
容易導致死鎖;
啟用太多的線程,就有搞垮機器的可能