stampedlock示例代码问题
来源:6-6 J.U.C之AQS-ReentrantLock与锁-2
红邮筒
2019-02-21
老师,在如图所示的代码的最后一行return语句执行过程中,可能存在其它写线程已经修改了数据,那么结果不还是不正确的吗?这是怎么处理保证正确性呢?
写回答
1回答
-
Jimin
2019-02-21
你好,这是读操作,所有的读主要保证根据当前数据返回最新的结果而已,线程不安全指的是当前的更新忽略了其他线程的更新,导致更新的结果不正确。
如果你认为这个有问题,那你任何一次查询都是有问题的,因为你此次查询完后其他线程之后也可以过来修改数据,在那个时间点看这次查询的数据也是错误的。你仔细想想看是不是这么一回事。
132019-02-22
相似问题