-
同步11111111
查看全部 -
synchronized性質(zhì):
可重入:指的是同一線程的外層函數(shù)獲得鎖之后,內(nèi)層函數(shù)可以直接再次獲取鎖。
好處:避免死鎖,提升封裝性
不可中斷:一旦這個鎖已經(jīng)被別人獲得了,如果我還想獲得,我只能選擇等待或阻塞,直到別的線程釋放這個鎖。如果別人永遠(yuǎn)不釋放鎖,那么我只能永遠(yuǎn)地等下去。
查看全部 -
1、兩個線程同時訪問一個對象的同步方法:一個一個執(zhí)行。(加鎖成功可以起到保護(hù)作用和同步效果)
2、兩個線程訪問的是兩個對象的同步方法:同時執(zhí)行。(沒有起到保護(hù)作用和同步效果)
3、兩個線程訪問的是synchronized的靜態(tài)方法:一個一個執(zhí)行。
4、同時訪問同步方法與非同步方法:同時執(zhí)行。
5、訪問同一個對象的不同的普通同步方法:一個一個執(zhí)行。
6、同時訪問靜態(tài)synchronized和非靜態(tài)synchronized方法:同時執(zhí)行。
7、方法拋出異常后,會釋放鎖:會。
查看全部 -
Java類可能會有很多個對象,但是只有1個Class對象。
所以所謂的類鎖,不過是Class對象的鎖而已。
類鎖只能在同一時刻被一個對象所擁有。查看全部 -
synchronized的地位:
1、是Java的關(guān)鍵字,被Java語言原生支持。
2、是最基本的互斥同步手段。
3、是并發(fā)編程中的元老級角色,并發(fā)編程的必學(xué)內(nèi)容。查看全部 -
synchronized(同步)的作用:
能夠保證在“同一時刻”最多只有一個線程執(zhí)行該段代碼,以達(dá)到保證并發(fā)安全的效果查看全部 -
? ?鎖的特性
1. 可重入? ?好處:避免死鎖? 提高封裝特性
2. 不可中斷
查看全部 -
可重原理,加鎖計數(shù)
查看全部 -
反編譯看字節(jié)碼
javac
javap -verbose查看全部 -
缺陷
效率低
鎖的釋放場景少:正常執(zhí)行完畢、異常拋出。
試圖獲取鎖時不能設(shè)定超時,只能一直等。
不能中斷一個正在試圖獲得鎖的線程。
不夠靈活
加鎖放鎖的時機的單一,相比之下讀寫鎖更靈活。
無法知道結(jié)果
獲取鎖成功沒?
查看全部 -
對象鎖
方法鎖:this,即當(dāng)前實例對象
同步代碼塊鎖:自己制定鎖
類鎖
靜態(tài)方法鎖:類對象
??
查看全部 -
只有一個Class對象:Java類可能會有很多個對象,但是只有1個Class對象。
查看全部 -
Synchronized的作用:能夠保證在同一時刻最多只有一個線程執(zhí)行該段代碼,以達(dá)到保證并發(fā)安全的效果。
查看全部 -
JVM會自動通過使用monitor來加鎖和解鎖,保證了同時只有一個線程可以執(zhí)行指定代碼,從而保證了線程安全,同時具有可重入和不可中斷的性質(zhì)。
查看全部 -
1.使用讀寫鎖 2.使用lock
查看全部
舉報