一、執行緒與程序
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...