iOS串行、并行、同步与异步

简介

这几个名词一般我们都是在使用到多线程的时候才会出现,那么接下来介绍一下我自己对于它们的理解,如果有误,劳请指教。

串行与并行

串行与并行在多线程中用于修饰队列的性质。

我们都知道,队列中存放的是执行的任务。串行队列指的是处于这条队列中的每个任务,都需要等它的前一个任务从开始执行到结束执行完,这个任务才能开始执行。也就是说,若一个任务如果处于开始执行与结束执行的期间,它的下一个任务不能开始执行。这条队列中的任务遵循FIFO的原则。

而在并行队列中,当一个任务处于开始执行与结束执行的期间,它的下一个任务也可以开始执行。注意,并行队列中的任务也遵循FIFO的原则。

那么现在假设有以下两个任务A与B:

任务A:{ 打印1,打印2 }
任务B:{ 打印3,打印4 }

如果这两个任务处于串行队列,它们遵守FIFO原则,所以任务A首先开始执行,那么任务B必须要等任务A结束执行完即打印完2才能开始执行,所以打印顺序是:1,2,3,4。

如果这两个任务处于并行队列,那么任务B不需要等待任务A结束执行再开始执行,所以我们已知的打印顺序可以是:1必须在2与3前面,3必须在4前面。可以理解为,任务A与任务B遵守了FIFO原则,所以任务A开始执行,但是由于处于并行队列,任务B不需要等任务A执行完即打印2,所以此时2或者3的打印顺序不定,3与4同处于一个任务中,所以4肯定在3后面。

同步与异步

同步与异步主要是用于修饰是否新开一条线程来处理。

同步࿱

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值