标签: java multithreading thread-safety locking
我有线程A和线程B,如果A在A(本身)中读取一个int值以检查条件会发生什么,而B在同一时间写入相同的值会发生错误?或者只是去同步?
答案 0 :(得分:1)
没有错误,只是无法预测的结果。对于那种操作,请使用AtomicInteger或实现锁定机制。
AtomicInteger
答案 1 :(得分:1)
您所描述的内容称为race condition。程序的每次运行都会有一个不同的值存储在线程A的内存中,其中存储了读取的结果,所有这些都取决于执行的操作顺序。