synchronized (class) 和synchronized (this)

来源:互联网 发布:vim c语言插件 编辑:程序博客网 时间:2024/05/22 17:11


在多线程中,我们经常会用的synchronized (同步锁) 来控制线程的消息同步,避免重复调用,造成数据混乱..当然,在我们定义的时候也可以使用volatile在声明的时候进行控制.

我们在使用同步锁(synchronized)的时候有时候会很好奇synchronized (class) 和synchronized (this) 有什么区别.

我的理解是:synchronized (this) 同步的是对象,在不同线程中,只要对象相同就会同步等待,简单点就是 new了就是新对象,同步就会失效.

  synchronized (class)同步的是类对象,在不同线程中,只要是这个类的对象都会同步等待,就是new了新的对象都会等待.

0 0
原创粉丝点击