问答详情
源自:4-2 volatile不能保证原子性(上)

原子性是什么意思?

请大佬们告知!

提问者:慕粉3779733 2019-01-20 21:32

个回答

  • iceWang
    2019-01-22 10:29:06

    一个或某几个操作只能在一个线程执行完之后,另一个线程才能开始执行该操作,也就是说这些操作是不可分割的,线程不能在这些操作上交替执行

    文中的 i++ 包括 3 个操作

    1. 读取 i 的值

    2. i 的值 +1 

    3. 将 i 赋值给 i

    在这 3 个操作中可能会有其他线程开始执行,因此不是原子性的