GCD 苹果公司为多核的并行运算提供的解决方案

GCD:
       GCD是苹果公司为多核的并行运算提出的解决方案
       GCD会自动利用更多的CPU内核
       GCD会自动管理线程的生命周期
       程序员只需告诉GCD想要执行什么任务,不需要编写任何线程管理代码

1、GCD:对队列进行操作。让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器上执行任务,GCD的底层依然是用线程实现
2、GCD中的FIFO队列的三种情况
3、get  并发
4、屏障:只适合于并发队列(自定义的,手动创建的)
5、同步,异步,串行,并发
同步异步是派发的行为,同步等待任务完成,异步不等待
串行和并发是队列的概念
同步异步描述的是当前线程或代码流是否要阻塞已等待加入队列的任务执行完毕:同步要阻塞当前线程;异步不会阻塞当前线程。串行和并行描述的是队列里各个任务是否可以并发执行:串行队列里的任务不能并发执行,只能一个接一个地执行,同一时刻该串行队列里的任务最多只有一个在执行;并发队列里的任务后面的任务不必等待前面的任务执行完毕再执行,可以多个同时执行,同一时刻该并行队列里的任务可以有多个正在执行。 
       5.1:并发队列只有在异步函数下才有效
       5.2:同步和异步决定了要不要开启新的线程
             同步:在当前线程中执行任务,不具备开启新线程的能力
             异步:在新的线程中执行任务,具备开启新线程的能力
       5.3:并发和串行决定了任务的执行方式
             并发:多个任务同时执行
             串行:一个任务执行完成后,再执行下一个任务
6、在串行队列的内部进行同步派发必然死锁
7、单例:设计模式的一种     share default  standard  标示的是单例对象
8、临界区:一段代码,对其进行加锁。多线程在同时访问一个语句快的时候,为了让其他在门口阻塞  设置临界区  括号内的内容只会执行一次
10、线程安全:防止多个线程同时访问一个内容 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值