美文网首页
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