線程及鎖優化總結

進程是系統進行資源分配和調度的一個獨立單位,是處於運行過程中的程序,有3個特性:     獨立熊     動態性        併發性

併發:是指同一時刻只能有一條指令被執行,但多個進程指令被快速輪換執行  宏觀上具有多個進程同時執行的效果

並行:只在同一時刻,有多條指令在多個處理器上同時執行

2:線程是進程的執行單元 可以說是它的子集

創建線程的3中方式:1:繼承Thread 重寫run()方法;2實現Runnable接口 重寫run()方法;3使用Callable接口和Future(   call()方法具有返回值       )

3:線程的生命週期:新建   就緒   運行  阻塞 和死亡

同步:client端發出一個功能調用時 在沒有得到結果之前  該調用不返回。異步:client端一個異步過程調用發出後 調用者在沒得到結果之前可以做其他事。

臨界區:訪問公用資源的程序片段 共用資源無法被多個線程訪問 

阻塞:調用結果返回之前,當前線程會被掛起(CPU不分配時間片)

非阻塞:不能立即得到結果之前 該函數不會阻塞當前線程 會立刻返回

併發級別:無等待併發   無鎖併發  無阻塞併發  阻塞併發

死鎖的原因:擁有的不可剝奪的資源 其數量不足以滿足多個進程運行的需要,因爭奪資源而陷入僵局 ,進程A和B不是競爭資源,而是等待對方資源導致死鎖

死鎖產生的必要條件:

1:互斥條件 資源僅能一方佔有 2:不可剝奪條件(資源不可剝奪)3:請求和保持(請求資源 保持舊資源)4:循環等待(避免循環:加鎖順序 加鎖時限 死鎖檢測)




發佈了30 篇原創文章 · 獲贊 2 · 訪問量 9120
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章