synchronized的用法
生活随笔
收集整理的這篇文章主要介紹了
synchronized的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據修飾對象分類
synchronized(this|object) {}
synchronized(類.class) {}
Private final Object MUTEX =new Object();Public void methodName(){Synchronized(MUTEX ){……}}根據獲取的鎖分類
synchronized(this|object) {}
修飾非靜態方法
在 Java 中,每個對象都會有一個 monitor 對象,這個對象其實就是 Java 對象的鎖,通常會被稱為“內置鎖”或“對象鎖”。類的對象可以有多個,所以每個對象有其獨立的對象鎖,互不干擾。
synchronized(類.class) {}
修飾靜態方法
在 Java 中,針對每個類也有一個鎖,可以稱為“類鎖”,類鎖實際上是通過對象鎖實現的,即類的 Class 對象鎖。每個類只有一個 Class 對象,所以每個類只有一個類鎖。
?
?
在 Java 中,每個對象都會有一個 monitor 對象,監視器。
?
總結
以上是生活随笔為你收集整理的synchronized的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: synchronized概念
- 下一篇: CAS底层原理