问答详情
源自:5-1 课程总结

小问题求解

有个问题想问一下:最后一节的总结部分说读64位数据的问题为什么用volatile来修饰呀,volatile不是没有原子性吗

提问者:qq_吹不断的苇草_0 2015-05-17 21:50

个回答

  • 斌哥在此
    2020-11-30 22:27:48

    64位可以能会拆成两个32位的

  • 鬼羽子
    2016-01-02 19:30:00

    32bit数据的读写是一个原子操作,对64bit数据加volatile仅仅只是保证数据的读写具有不可重入性以及可见性——这样就够了。第一个32bit读完之后,才允许读第二个32bit,且必须从主线程内存中刷新,这样可以保证数据的有效性。