atomic与nonatomic(读书总结)

    xiaoxiao2025-08-11  4

    atomic通过锁定机制保证操作的原子性,某个线程在修改属性时,另一个线程不能突然闯入读取尚未修改好的属性值,

    而nonatomic会发生这种情况,线程读到的属性值可能不对.

    为什么ios中所有的属性都都声明为nonatomic呢?

    因为ios中使用同步锁的开销较大,这会带来性能问题.一般情况下,并不要求属性必须是原子的,因为这不能完全保证线程安全,要是行线程安全还要更深层的锁定机制才可以.

    另外:开发MAC OS X 时 用atomic就不会有性能问题.

    转载请注明原文地址: https://ju.6miu.com/read-1301633.html
    最新回复(0)