首頁 > Java > java教程 > 舉例講解Java中synchronized關鍵字的用法

舉例講解Java中synchronized關鍵字的用法

高洛峰
發布: 2017-01-05 16:22:53
原創
1410 人瀏覽過

synchronized關鍵字顧名思義,是用於同步互斥的作用的。

這裡精簡的記一下它的使用方法以及意義:

1. 當synchronized修飾 this或者非靜態方法或者是一個實例的時候,所同步的鎖是加在this或者實例對象引用上面的。例如a,b同為Main類別的實例化對象,a呼叫被同步的方法,和b呼叫被同步的方法,沒有形成互斥。但是不同執行緒的a物件呼叫被同步的方法就被互斥了。

public synchronized void method(){
  //….
}
public void method()
{
  synchronized (this){
    //…..
  }
}
登入後複製

   

2.與1不同,當synchronized修飾類別名稱.class 或靜態方法的時候. 就算是不同對象,也會形成互斥

Class Main
{
  public synchronized static void method1(){
    //….
  }
  public void method2(){
    synchronized(Main.class) // 
  }
}
登入後複製

   

更多舉例講解Java中synchronized關鍵字的用法相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板