對象鎖,鎖對象,在使用synchronized關鍵字時,需要指定一個鎖對象,synchronized關鍵字如果是加在方法上,默認會使用當前對象作爲鎖對象,如下:
不過也可以自己創建一個對象作爲鎖,如下:
這裏爲什麼要使用byte[],這是因爲鎖也是對象,加鎖和釋放鎖都需要這個對象的資源,因此對象自然是越小越好,僅僅只是作爲一個對象鎖使用,能發揮作用就行,一個字節的byte對象再合適不過了。
鎖對象要儘量小
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
併發編程的Bug源頭:可見性、原子性和有序性問題
Eric597247
2020-07-07 12:49:39
對 Java 四種線程池的簡要分析
Geffin
2020-07-08 10:40:33
弄懂 ThreadLocal,看這一篇就夠了
Geffin
2020-07-08 10:04:50
我手寫了AQS實現、畫了3張流程圖,就是爲了讓你徹底搞明白AQS原理
快乐柠檬
2020-07-07 20:23:31
Lock鎖的方法使用
ly_dsjing
2020-07-06 21:39:40
什麼是阻塞隊列(BlockingQueue)?
不懂的浪漫
2020-07-06 19:56:51
爲什麼 HashMap 鏈表長度超過8才轉爲紅黑樹?
不懂的浪漫
2020-07-06 19:16:13
爲什麼說本質上只有一種實現線程的方式?
不懂的浪漫
2020-07-06 19:16:13
同樣是線程安全,ConcurrentHashMap 和 Hashtable 區別?
不懂的浪漫
2020-07-06 19:16:13
Java 中常見的阻塞隊列有哪些?
不懂的浪漫
2020-07-06 19:16:13
Java 阻塞隊列中的常用方法及區別
不懂的浪漫
2020-07-06 19:16:13
Java-線程中的異常
wjjiang2333
2020-07-05 06:37:41
AbstractQueuedSynchronizer源碼分析(一):AbstractOwnableSynchronizer和Node
A_finder
2020-07-05 04:04:02