B线程工作空间何值的问题
在之前讲到可见性时,说,值变更由工作空间->主内存->工作空间 一步不能缺。
但这节课说,B线程将number更新为6并同步主内存后,A线程的工作空间为何还是5?不是volatile保证了可见性了吗?
我的理解是,A工作的工作空间已经变成了6,但A线程之前已经读取过数据了,所以继续沿用之前的操作,是5.不知道我的理解是否正确。
在之前讲到可见性时,说,值变更由工作空间->主内存->工作空间 一步不能缺。
但这节课说,B线程将number更新为6并同步主内存后,A线程的工作空间为何还是5?不是volatile保证了可见性了吗?
我的理解是,A工作的工作空间已经变成了6,但A线程之前已经读取过数据了,所以继续沿用之前的操作,是5.不知道我的理解是否正确。
2017-05-07
举报