美文网首页ios面试题
ios的atomic一定是线程安全的吗?

ios的atomic一定是线程安全的吗?

作者: 小山93 | 来源:发表于2017-11-19 17:35 被阅读0次

atomic修饰的属性一定是线程安全的吗?这个问题其实包括两个块内存,一个是栈区指针的内存A,一个是堆区对象占用的内存B。

atomic 只是对属性的 getter/setter 方法加自旋锁,也就是对A加锁,这样可以保证A是线程安全的。这样并没有对B做任何处理所以B不是线程安全的。

如果一个对象的改变不是直接调用 getter/setter 方法,而是直接对对象内部属性修改、字符串拼接、数组增加和移除元素等操作,就不能保证这个对象是线程安全的。

相关文章

  • 题库整理(一)

    1.atomic和nonatomic的区别?atomic一定是线程安全的吗?atomic如何实现atomic? a...

  • atomic与线程安全

    本篇文章采用的源码是objc4-781版本 使用atomic一定是线程安全的吗? atomic不是绝对的线程安全。...

  • iOS 面试提(二)

    使用atomic一定是线程安全的吗? 不是,atomic仅针对于getter和setter方法调用的时候,此时at...

  • ios的atomic一定是线程安全的吗?

    atomic修饰的属性一定是线程安全的吗?这个问题其实包括两个块内存,一个是栈区指针的内存A,一个是堆区对象占用的...

  • iOS中atomic一定是线程安全的吗

    一、先来做个测试 先设置两个属性,分别为atomic和nonatomic,再做一个1000个异步请求,修改name...

  • atomic与线程安全

    iOS开发中,property用atomic修饰并不是真正的线程安全 创建 @property(atomic, a...

  • 使用atomic一定是线程安全的吗?

    一般当我们想要保证对象属性的线程安全的时候可以在定义属性的时候用 atomic 关键字来修饰,那么这篇文章让我们来...

  • 使用atomic一定是线程安全的吗?

    线程安全 1.线程安全的概念多条线程同时工作的情况下,通过运用线程锁,原子性等方法避免多条线程因为同时访问同一快内...

  • 使用atomic一定是线程安全的吗?

    这个问题很少遇到,但是答案当然不是。atomic在set方法里加了锁,防止了多线程一直去写这个property,造...

  • 面试与问题记录 3

    一 .nonatomic 与atomic 区别,atomic是绝对线程安全吗 ?常用的锁有那些? 答: nonat...

网友评论

    本文标题:ios的atomic一定是线程安全的吗?

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