synchronized同步问题

一个类中有两个同步方法,此时有多个线程同时访问该对象的两个方法,这样会造成锁互斥吗?

阅读 2.3k
3 个回答

是的,锁住的是这个对象,并不是一个方法。

是的 如果是静态方法 锁住的是类 也就是该类的所有实例 只能由一个去访问 如果是普通方法 ,锁住的是对象。

synchronized关键词锁定的是对象,也就是对象锁,静态方法可以认为获取的是对应的Class对象的锁。多线程竞争某个对象的锁的时候,只有一个会拿到锁。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题