5
回答
synchronized的用法有点半生不熟,有些地方理解还不够深,懂得来给我讲讲撒。。。
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
好吧问的仔细点,同步时那把锁锁的到底是什么?
<无标签>
举报
共有5个答案 最后回答: 4年前

如果是同步块,你提供的是什么对象,就是锁什么对象。对于方法修饰来说,应该看这个方法是否是static的,静态方法用类的Class对象做锁,非静态方法用当前对象的this做锁。

用同一个对象来锁的synchronized块是互斥的。但是要注意同一个对象这个要求,初学的时候经常会说,明明是同一个变量为什么会无效,才发现引用的是不同的对象

--- 共有 3 条评论 ---
邪恶的小怪兽自己查了下文档,结合你们所说的有一些收获了,谢谢各位 4年前 回复
逝水fox回复 @panmingguang : 如果JDK1.5的话同步工具包的Lock会有更好的性能,在Java6以后同步块这边也重新做了实现,不再有性能上的差异。易用性上Lock的话还需要手工解锁,相对要不易使用一点。所以我觉得用Lock的主要目的还是在需要他的tryLock 超时等高级特性 4年前 回复
panmingguang写的很好, 受益匪浅, 一般只会用用对象锁 4年前 回复
两个人同时去嫖妓去了,结果,一看到这个妓女1000块钱2小时全套服务,哇,好漂亮,两个人好久没有干这事了,两个都想上,怎么办呢,妞只有一个,是你先上还是我先上,想想,我来得早一些,我先上吧,但是为了我上的时候你打扰到了我,不然是个阳萎,所以,我得把门锁上,好了,等我上完你再上。。。
--- 共有 2 条评论 ---
邪恶的小怪兽呵呵,你们说的比文档精彩,谢谢啊 4年前 回复
mushui不对,不是把门锁上,而是把妓女锁上,等爽完了,再把锁从妓女身上卸下,另一个小伙伴才可以上 4年前 回复
顶部