data race

首先没有安全的data race

  

go build -race ./1.go

 

它涉及两个操作
  原子性
    该操作不是一条汇编语句 可以实现的
     。   
  可见性
    每个核心的数据 当加载到寄存器中,并不会立马加载到内存中。
    因此,当存在多个核心,加载了数据到寄存器,但都没有加载到内存,可能会导致对方读不到数据

内存布局

 

posted @ 2021-01-02 21:53  慕沁  阅读(184)  评论(0)    收藏  举报