当我们使用synchronized关键字时,什么会被锁定? [复制]

2023-12-21

在阅读线程中的并发问题并通过以下方式处理它时,我想到了问题synchronized关键词是,当我们使用这个术语时lock它用于包含以下内容的对象run方法(或线程的工作)。但是为什么我们不能使用这个术语lock仅适用于其定义包含以下内容的方法synchronized关键字,因为这个关键字意味着一旦一个线程进入该方法,那么该线程只能在该方法完成后才能被JVM调度程序干扰?

我正在从头开始学习java,那里写着一行“对象被锁定”,给出的原因再次以质疑的方式,即“如果我们有两个同步方法会发生什么”。所以我在这里感到困惑如果只锁定方法,会发生什么令人惊讶的事情?

如果我问了一个模糊的问题,请原谅我,并提前致谢。


同步时,object monitor由线程获取。由于一次只有一个线程可以获取监视器,因此尝试获取监视器的另一个线程将被阻塞。所以从某种意义上说,没有什么是真正的locked,除了某段代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我们使用synchronized关键字时,什么会被锁定? [复制] 的相关文章

随机推荐