码迷,mamicode.com
首页 > 其他好文 > 详细

synchronize的心得

时间:2016-03-26 18:31:26      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

记录一下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的心得

标签:

原文地址:http://www.cnblogs.com/jiligalaer/p/5323348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!