gpt4 book ai didi

java - 同步块(synchronized block)中需要一个对象

转载 作者:行者123 更新时间:2023-12-02 04:22:25 24 4
gpt4 key购买 nike

根据我的理解,如果我们在代码中添加synchronized关键字,其中的整个代码块将被其他线程锁定。既然如此,为什么我们需要在synchronized关键字中指定一个特定的对象呢?例如。 同步(lockObject)。这里lockObject有什么用?

最佳答案

假设您有 2 个想要同步的资源;浴室和冰箱。

您希望即使有人在使用卫生间,人们也能够从冰箱里拿零食,不是吗?

所以你在冰箱和浴室上使用不同的锁。

用编程术语来说,这意味着每个独立资源都可以拥有自己的 lockObject。

请注意,一个资源可以有多种访问它们的方法 - 同一资源的所有访问者都应该使用相同的锁!毕竟,如果你有两扇通往浴室的门,那么如果你只锁上其中一扇,那就没什么用了。

关于java - 同步块(synchronized block)中需要一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32607196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com