关于synchronized锁的问题

ChangeZ_ 2014-07-07 04:56:06
如果一个Manager类里有一个public final byte[] lock = new byte[0];属性,Manager创建的1个对象M。
那么如果在Manager类中synchronized (lock)和synchronized (this)是一样的吗?
...全文
137 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
holzkoepfer 2014-07-07
  • 打赏
  • 举报
回复
效果不一样,synchronized(this)对整个对象加锁。一旦加锁,对象的其他方法也不能调用。
ChangeZ_ 2014-07-07
  • 打赏
  • 举报
回复
引用 4 楼 xiaopeipei2004 的回复:
了解一下java对象锁的可重入性 http://chenzehe.iteye.com/blog/1766790
一个自定义的线程,如果run方法里代码没运行完是不会有重入的可能的啊(锁在run方法内的)。
grapepaul 2014-07-07
  • 打赏
  • 举报
回复
了解一下java对象锁的可重入性 http://chenzehe.iteye.com/blog/1766790
ChangeZ_ 2014-07-07
  • 打赏
  • 举报
回复
引用 2 楼 xiaopeipei2004 的回复:
一样效果,都不能保证线程安全。
为什么不能保证线程安全?对这个对象加锁,就只能一个线程对这个对象操作了啊。
grapepaul 2014-07-07
  • 打赏
  • 举报
回复
一样效果,都不能保证线程安全。
wu244534279 2014-07-07
  • 打赏
  • 举报
回复
最终达到的效果是一样的

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧