您现在的位置是:首页
>
Java的线程安全四种方式五个等级[1]
Java的线程安全四种方式五个等级[1] 四种方式 ychro ized关键字 ychro ized method(){} ychro ized (o jectRefere ce) {} tatic
Java的线程安全四种方式五个等级[1]
四种方式 sychronized关键字
sychronized method(){} sychronized (objectReference) {} static synchronized method(){} sychronized(classname class)
其中 和 是代表锁当前对象 即一个对象就一个锁 和 代表锁这个类 即这个类的锁
要注意的是sychronized method()不是锁这个函数 而是锁对象 即 如果这个类中有两个方法都是sychronized 那么只要有两个线程共享一个该类的reference 每个调用这两个方法之一 不管是否同一个方法 都会用这个对象锁进行同步 锁类的 和 类推 即该类的不同reference调用了sychronized区段的咚咚就会受类锁的控制
![Java的线程安全四种方式五个等级[1]](http://img.zhputi.com/uploads/66c6/66c69b310d595e4006fe01c0cecd9bbd12841.jpg)
还有 如果两个函数调用的先后顺序不能被打断 那么可以有个专门的锁对象来完成这个任务
class MyLock { synchronized getLock() { //####还没写完 } }
五个等级 参见effective java Item : Document thread safety
lishixinzhi/Article/program/Java/gj/201311/27704 很赞哦! (1074)