java學習 十一 執行緒和java的鎖

2021-09-12 07:08:44 字數 422 閱讀 4359

一、執行緒與程序

1.1、定義

1.2、區別

1.21、從以下幾個方面考慮

2.通訊:程序間通訊ipc(管道,訊號量,共享記憶體,訊息佇列),執行緒間可以直接獨寫程序資料段(如全域性變數)來程序通訊——需要程序同步和互斥手段的輔助,以保證資料的一致性。

3.排程和切換:執行緒上下文切換比程序上下文切換快得多。

4.在多執行緒os中,程序不是乙個可執行的實體。

1.3、執行緒的建立和執行

1.4、同步化

1.5、同步化的缺點

1.6、死鎖

二、鎖的型別

2.1、互斥鎖與共享鎖

2.2、讀寫鎖(實現類reentrantreadwritelock)

2.3、非公平鎖與公平鎖

2.4、樂觀鎖與悲觀鎖

2.5、可重入鎖

Java併發程式設計的藝術 十一 執行緒池 2

任務執行器 executor框架最核心的介面是executor,它表示任務的執行器。executor的子介面為executorservice。executorservice有兩大實現類 threadpoolexecutor和scheduledthreadpoolexecutor。執行結果 futur...

十一 執行緒同步

前面完成了多執行緒之後,那麼肯定會涉及到執行緒的同步問題。因為執行緒的執行是隨機的,亂序的。雖然我們這個小kernel實現的排程器演算法比較簡陋,它的隨機性沒那麼強,但是每次進行執行緒切換的時候,還是有可能產生問題。並且問題已經產生了。int main void return0 void k thr...

Linux學習(二十一) 執行緒

每個程序都有自己單獨的位址空間,這樣在程序切換的時候開銷就會比較大,為了提高系統的效能,許多作業系統規範裡引入了輕量級程序的概念,也被稱為執行緒。在同乙個程序中建立的執行緒共享該程序的位址空間。函式原型 int pthread create pthread t thread,const pthrea...