synchronize的心得

Posted 逐客教我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了synchronize的心得相关的知识,希望对你有一定的参考价值。

记录一下synchronize(this)、synchronize(A.class)、private B  b= new B(); synchronize(b) 、synchronize static(A.class)的使用。

                 其中synchronize(this) 锁的是当前对象,它的使用和private B  b= new B(); synchronize(b) 一致,但是如果在一个类中,两个方法一个使用的synchronize(this)一个使用了private B  b= new B(); synchronize(b)  这还是异步操作,因为这是锁的两个对象。如果两个方法都是用synchronize(this)或者都是用private B  b= new B(); synchronize(b)这两个中的一种,则这两个方法会阻塞,方法间竞争锁。

                 synchronize(A.class)和synchronize static(A.class)本质一样,都是class级别的锁,打个比方:

                             A a  = new A();

                             A a1 = new A();

                  起两个线程共同处理A的一个同步方法,会顺序执行。而如果是使用synchronize(this) 则因为两个对象,所以会异步执行奥。抽空这里弄点例子。呼呼哈嘿。

                    

以上是关于synchronize的心得的主要内容,如果未能解决你的问题,请参考以下文章

全网最细节的sds讲解,社招面试心得

Pechkin使用心得

java 多线程 Synchronized方法和方法块 synchronized(this)和synchronized(object)的理解

synchronized

synchronized

多线程:synchronized代码块synchronized方法静态synchronized方法使用的锁