网网站站建建站站,温州网站设计服务,微信小程序直播平台,什么是响应式营销型网站建设在java多线程中 synchronized 是非常重要的#xff0c;也是经常用到的 对于synchronized关键字要注意两点
synchronized对象监视器为Object的时候 synchronized对象监视器为Class的时候
对象监视器为Object 也就是synchronized锁定的是对象
例如下面代码
public class A …在java多线程中 synchronized 是非常重要的也是经常用到的 对于synchronized关键字要注意两点
synchronized对象监视器为Object的时候 synchronized对象监视器为Class的时候
对象监视器为Object 也就是synchronized锁定的是对象
例如下面代码
public class A { synchronized public void MethodA(){ System.out.println(this is MethodA); } synchronized public void MethodB(){ System.out.println(this is MethodB); } public void MethodC(){ System.out.println(this is MethodC); } } 创建对象 a 和b
A a new A(); A b new A(); 1 2 当两个线程分别调用 a.MethodA() 和 a.MethodB() 的时候 这两个方法是不能同时执行的因为synchronized 锁的是a 这个对象a 里面被synchronized 关键字标记的方法只能串行也就是同一时间只有一个synchronized 标记的方法能运行。a.MethodA() 运行 b.MethodB()就要等待 但a.MethodC()可以运行因为MethodC没有被标记属于非现成安全。不受关键字影响。
a.MethodA()和b.MethodA() 可以同时运行因为synchronized锁的是对象a和b属于两个对象所以有两把锁分别锁a和b,但相互之间不受影响。 --------------------- 作者瘦包子 来源CSDN 原文https://blog.csdn.net/baolijuncool/article/details/53327028 版权声明本文为博主原创文章转载请附上博文链接