ISO开发-多线程

1.多线程:Cpu— 4核8线程,就好像几条跑道一样, 同一时间可以跑8辆车.运输的效率自然就高了
2.多线程实现的方式
    能力排序pThread<NSThread<GCD<NSOperation
    pThread  纯C 可以跨平台. 说明兼容性好, 缺点 对于某个平台 优化型不强
    NSThread  苹果早期的多线程技术- 已经被淘汰了
    GCD —通常是dispatch开头的方法, C语法+block语法,苹果开发用来取代NSThread 是现在最流行的 也是最主要
    NSOperation  就是对GCD的一个封装, 把C语法封装成了OC语法.  额外的添加了5个特殊功能
3.在GCD和NSOpearation之间如何抉择?
    GCD的运行效率比NSOperation高一点点,除非用到 特殊的5个功能以外,其他时间没有太强的要求
4.CGD
    同步: 同与主线程, 在主线程上运行   sync
    异步: 异于主线程, 在非主线程上运行  async
    并行: 多个任务同时进行,即多个任务在不同的线程运行 concurrent
    串行: 多个任务在一个线程上排队运行,有序的 serial
    异步串行: i 和 j 打印, i打印完毕再打印j, 在同一个线程
    异步并行: i和j 的打印是在不同线程里执行的,是无序的. 这个线程肯定不是主线程----最常用的,效率最高
    同步串行: 线程是主线程, 任务执行是有序的(不常用)
    //我们正常写代码都是同步串行, 当从分线程中回到主线程,刷新UI的时候 可以调用
    同步并行: 同于 同步串行. 因为同步表示必须在主线程中运行, 并行 有需要的话,可以开分线程----遵循同步的规则,只能在主线程中

    dispatch_queue_create 创建队列
    dispatch_async    异步执行
    dispatch_sync      同步执行
5.线程锁—保证线程安全
    当一个资源被使用的时候,别的线程不能够使用同一个资源.这就是把当前使用的资源加锁.
    使用 NSLock加锁,  常用
    使用@synchronized加锁  —效率没有NSLock高, 不常用
6.总结
    同步就是主线程执行 异步就是分线程执行 切记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值