多线程知识点总结


1. 概念:

  • 进程
  • 线程
  • 多线程
  • 串行
  • 并行


2. 实现方案:

  • pthread 了解(如何创建线程)
  • NSThread
    • 创建线程
    • 状态
      • 新建-->>就绪-->>运行-->>阻塞-->>死亡
      • 线程安全(互斥锁-线程同步)
      • 通信
  • GCD
    • 概念:
      • 队列(串行2+并发2) + 任务(异步函数+同步函数)
      • 各种队列和各种任务执行方式的组合情况(4+2)
    • 开线程:
      • 1)异步函数
      • 2)不能是主队列
    • 常用函数:
      • 一次性代码(单例模式)
      • 栅栏函数(控制并发队列中任务的执行顺序)
      • 延迟执行
      • 队列组
      • 快速迭代(apply)
  • NSOperation
    • 概念:
      • 队列+ 操作
      • 封装操作(3)
      • 开线程:队列(非主队列) + 操作
        • 1)封装操作
        • 2)创建非主队列
        • 3)添加操作到队列中
      • 常用操作:
        • 取消
        • 暂停
        • 恢复
        • 苹果官方建议
      • 属性:
        • 最大并发数 (当为 1 时, 相对于串行队列)
        • 线程间通信(提交任务到主队列主队列)
  • 单例模式
    • 1)只分配一次存储空间(once)
    • 2)提供类方法
  • 多图下载示例
    • 二级缓存结构
    • SDWebImage框架内部实现原理
  • SDWebImage
    • 面试前一定要再看一遍
  • Runloop
    • 概念
    • 作用
    • 线程和runloop
    • 获得对象
    • runloop相关类(mode runloop source timer observer)
    • runloop内部的处理逻辑
    • runloop的应用(常驻线程)


results matching ""

    No results matching ""