`

synchronized关键字

    博客分类:
  • J2SE
阅读更多

再次关注线程同步...jdk5中就引入了current包..现在才开始关注.越发感觉自己老了.

同步问题..可使用synchronized关键字来解决...当然现在还有lock....

再次看到synchronized,不禁想问,它到底是锁定了什么...是类,还是对象..

引用

sychronized method(){}
sychronized (objectReference) {/*block*/}
static synchronized method(){}
sychronized(classname.class)

其中1和2是代表锁当前对象,即一个对象就一个锁,3和4代表锁这个类,即这个类的锁
要注意的是sychronized method()不是锁这个函数,而是锁对象,即:如果这个类中有两个方法都是sychronized,那么只要有两个线程共享一个该类的reference,每个调用这两个方法之一,不管是否同一个方法,都会用这个对象锁进行同步。锁类的3和4类推,即该类的不同reference调用了sychronized区段的咚咚就会受类锁的控制


http://www.java1995.org/article/710.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics