美文网首页
iOS多线程

iOS多线程

作者: follow_er | 来源:发表于2016-11-28 10:44 被阅读10次

    多线程

    1.线程:一个进程中至少要有一个线程
    2.进程: 进程之间是相互独立的
    3.多进程: 一个进程中可以开启多个线程同时执行不同的任务

    多线程的执行原理

    1. cpu 在多个线程之间快速的来回切换(调度线程执行任务),并不是真正的同时执行,是个假象
      多线程的优缺点

    2. 优点: 可以适当的提高程序的执行效率

    3. 缺点: 当子线程非常多的时候

    4. 大量的消耗CPU的资源,降低的程序的执行的性能。

    5. 时间的开销:创建线程需要时间

    6. 控件上的开销:子线程是要占用内存空间的

    主线程

    1.程序一启动的就会创建一个线程,称之为主线程/UI线程。
    2.注意:千万不要放耗时操作放在主线程中
    实现多线程的技术方案

    开通线程的四种方式

    1. pThread
    2. NSThread
    3. GCD
    4. NSOperation
    • NSThread创建线程的三种方式

    1.1.对象方法创建(构造方法)
    2.2.类方法 无法获取到线程对象 不用手动开启
    3.3.perform 方法 NSObject分类方法
    4.1. detach :分离 一个新的线程。

    • 线程状态

    线程的生命周期

    1. 新建状态 new
    2. 就绪状态 runnable
    3. 运行 running
    4. 阻塞 blocked
    5. 死亡
    6. dead
    7. 自然死亡
    8. 强制退出

    strong : 强引用 对象一旦被强引用就不会被销毁
    根视图用strong偶尔父视图OC 对象用strong

    weak : 弱引用,对象一旦被弱引用创建就销毁
    子视图用weak
    代理使用weak
    对象创建穿了已经有强引用了,那么保存的时候使用weak

    相关文章

      网友评论

          本文标题:iOS多线程

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