《黑马程序员》 synchronized互斥应用总结

来源:互联网 发布:战地2数据修改 编辑:程序博客网 时间:2024/04/23 18:31
------- android培训、java培训、期待与您交流! ----------使用synchronized互斥代码块,方法和静态方法

如果只有一个代码块代码的时候synchronized使用的监视器对象。如果使用了类的成员

变量这个成员变量一定要是静态的,否则起不了互斥的作用
 
普通方法和代码块进行互斥
 如果我们有一个代码块和一个方法要进行互斥
方法使用synchronized ,因为synchronized默认就是使用this做为监视器对象
而代码块我们就要使用synchronized(this),它们要使用同一个监视器对象
   
静态方法和代码块进行互斥
静态方法使用this
因为静态方法不用创建类就可以调用。它是随着类的加载而加载的
静态的方法是由一个对象和它关联的。因为类加载到内存中,在内存中
其实是存在着一个与当前方法有关的字节码文件对象的。
所以我们在这里静态方法使用synchronized,代码使用当前类.class
即可让它们产生互斥
0 0
原创粉丝点击