iOS atomic 保證了讀和寫的過(guò)程是可靠的,但并不能保證數(shù)據(jù)一定是可靠的
其實(shí)很簡(jiǎn)單的例子,如果定義屬性 NSInteger i 是原子的,對(duì)i進(jìn)行 i = i + 1; 操作就是不安全的。因?yàn)樵有灾荒鼙WC讀寫安全,而該表達(dá)式需要三步操作:1.讀取i的值存入寄存器;2.將i加1;3.修改i的值;如果在第1步完成的時(shí)候,i被其他線程修改了,那么表達(dá)式執(zhí)行的結(jié)果就會(huì)與預(yù)期的不一樣,也就是不安全的。