美文网首页
iOS atomic不能保证数据可靠

iOS atomic不能保证数据可靠

作者: Jamesholy | 来源:发表于2019-04-12 10:44 被阅读0次
    iOS atomic 保证了读和写的过程是可靠的,但并不能保证数据一定是可靠的

    其实很简单的例子,如果定义属性 NSInteger i 是原子的,对i进行 i = i + 1; 操作就是不安全的。因为原子性只能保证读写安全,而该表达式需要三步操作:1.读取i的值存入寄存器;2.将i加1;3.修改i的值;如果在第1步完成的时候,i被其他线程修改了,那么表达式执行的结果就会与预期的不一样,也就是不安全的。

    相关文章

      网友评论

          本文标题:iOS atomic不能保证数据可靠

          本文链接:https://www.haomeiwen.com/subject/lhbqwqtx.html