ReentractLock可重入鎖講解

2021-09-18 05:41:27 字數 466 閱讀 1983

公平所:執行緒按照實現定義好的順序執行,保證執行順序的正確性,但是效能會有所降低

非公平所: 執行緒為了效能好,執行的順序可能實現定義好的不一樣,非公平鎖的吞吐量要比公平鎖大

synchronized和lock都屬於非公平所

可重入鎖又成為遞迴鎖

**public synchronized void method1()

public synchronized void method2()

當執行緒進入方法一時,也會進入方法二,因為他們兩個持有同一把鎖,這就是可重入鎖

可重入鎖最大的好處就是避免死鎖

死鎖產生的條件:

1.迴圈等待

2.不可剝奪

3.資源獨佔

4.保持申請

自旋鎖spinlock 阻塞的時候不會一直等候,而是邊做自己的事情邊等待鎖的釋放

readwritelock 讀寫鎖 讀的時候,不互斥,寫的時候,互斥

可重定位目標檔案

目標檔案有三種形式 1.可重定位目標檔案 2.可執行目標檔案 3.共享目標檔案 編譯器和彙編器生成可重定位目標檔案 共享目標檔案,聯結器生成可執行目標檔案。在這裡我們首先介紹可重定位目標檔案。可重定位目標檔案 包含二進位制 和資料,可以在編譯時與其他可重定位目標檔案合併起來,建立乙個可執行目標檔案。...

可重定位目標檔案

可重定位目標檔案經由源程式預處理,編譯,彙編之後得到的檔案。其中包括不可讀的二進位制 擴充套件名為.o。現有兩個模組的 main.c int sum int a,int n int array 2 int main sum.c int sum int a,int n return s 一.在linu...

7 4 可重定位目標檔案

下圖展示了乙個典型的elf可重定位目標檔案的格式。elf頭 elf header 以乙個16位元組的序列開始,這個序列描述了生成該檔案的系統的字的大小和位元組順序,elf頭剩下的部分包含幫助鏈結器語法分析和解釋目標檔案的資訊。其中包括elf頭的大小,目標檔案的型別 如可重定位,可執行性,或者共享的 ...