熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java的線程安全四種方式五個等級[1]

2022-06-13   來源: Java高級技術 

    四種方式 sychronized關鍵字

    sychronized method(){}
    sychronized (objectReference) {/*block*/}
    static synchronized method(){}
    sychronized(classnameclass)

    其中是代表鎖當前對象即一個對象就一個鎖代表鎖這個類即這個類的鎖

    要注意的是sychronized method()不是鎖這個函數而是鎖對象如果這個類中有兩個方法都是sychronized那麼只要有兩個線程共享一個該類的reference每個調用這兩個方法之一不管是否同一個方法都會用這個對象鎖進行同步鎖類的類推即該類的不同reference調用了sychronized區段的咚咚就會受類鎖的控制

    還有如果兩個函數調用的先後順序不能被打斷那麼可以有個專門的鎖對象來完成這個任務

 
class MyLock
  {
     synchronized getLock()
     {
       //####還沒寫完
     }
  }

    五個等級 參見effective java Item : Document thread safety

[]  []  


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27704.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.