zoukankan      html  css  js  c++  java
  • 原子属性

    nonatomic 非原子属性

    atomic  原子属性

    他们本身就是个加锁。

    原子属性就是不可分割的属性   原子属性实现:单(线程)写,多(线程)读。

    因为写的安全级别要求更高,读的安全级别要求低一些,可以多读几次保证数据正确性。

    在atomic情况下,只要重写了set方法,getter也得重写,

    原子属性内部使用的自旋锁。

    自旋锁和互斥锁的共同点和不同点?

    共同点:都可以锁定一段代码,同一时间内只有一条线程能够执行这段锁定的代码

    不同点:互斥锁在锁定的时候,其他线程会睡眠(sleep)等待条件满足,在唤醒。

               自旋锁,在锁定的时候其他线程会做死循环,一直等待条件满足,一旦条件满足,立马执行,少了唤醒的过程。

    线程安全的概念:

         就是多个线程同时执行的时候,能够保证资源信息的准确性。

    UI线程----主线程

    **UIKit中绝大部分的类,都不是线程安全的。

    怎么解决这个线程不安全的问题?

    苹果官方约定,所有程序的更新UI 都在主线程进行。就不会出现多个线程同时改变同一个资源。

    **在主线程更新UI 有什么好处?

    1.只在主线程更新UI就不会出现多个线程同时改变同一个UI控件的情况。

    2.主线程的优先级时最高的。也就意味着UI的更新优先级也高。会让用户感觉到很流畅。

  • 相关阅读:
    cf1043C. Smallest Word(贪心)
    洛谷P1081 开车旅行(倍增)
    NOI.AC NOIP2018 全国热身赛 第四场
    cf444E. DZY Loves Planting(并查集)
    NOI.AC NOIP模拟赛R3解题报告
    中国第一计算机编程高手横瓜的天才求职之路异常艰辛,天妒奇才呀
    C语言全局未初始化数据段分析
    js问题总结
    ios7新增基础类库以及OC新特性
    jquery.post用法
  • 原文地址:https://www.cnblogs.com/pengpengzhang/p/4772431.html
Copyright © 2011-2022 走看看