gpt4 book ai didi

java 。读、写、单独同步

转载 作者:行者123 更新时间:2023-12-01 12:32:38 25 4
gpt4 key购买 nike

我正在学习多线程,有一个小问题。当我在线程之间共享某些变量(ArrayList,或其他类似 double、float)时,它应该由读/写中的同一个对象调用吗?我的意思是,当 1 个线程设置变量值时,另一个线程可以同时读取而不会出现任何问题吗?或者它应该被同一个对象锁定,并强制线程等待读取,直到它被另一个线程更改?

最佳答案

对共享状态的所有访问都必须由同一锁保护,包括读取和写入。读操作必须等待写操作释放锁。

作为一种特殊情况,如果您在同步块(synchronized block)中所做的所有操作都相当于一个读取或写入操作,那么您可以放弃同步块(synchronized block)并将变量标记为 volatile 。

关于 java 。读、写、单独同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25823888/

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