Java线程的编写和读取价值相同吗?

时间:2014-09-13 17:09:51

标签: java multithreading thread-safety locking

我有线程A和线程B,如果A在A(本身)中读取一个int值以检查条件会发生什么,而B在同一时间写入相同的值会发生错误?或者只是去同步?

2 个答案:

答案 0 :(得分:1)

没有错误,只是无法预测的结果。对于那种操作,请使用AtomicInteger或实现锁定机制。

答案 1 :(得分:1)

您所描述的内容称为race condition。程序的每次运行都会有一个不同的值存储在线程A的内存中,其中存储了读取的结果,所有这些都取决于执行的操作顺序。