socket同步和异步通信区别_串行并行,异步同步的区别?

本文介绍了队列与任务执行的概念,包括串行队列与并行队列的区别、同步与异步执行的不同之处,以及主队列和全局队列的工作原理。通过本文,读者将了解到队列是如何调度任务,以及不同类型的队列和执行方式如何影响任务的执行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9f0ffd1593f3f559a3296ba62fe29596.png

先来说⼀个队列和任务:

队列分为串⾏和并⾏

任务的执⾏分为同步和异步

这两两组合就成为了串⾏队列同步执⾏,串⾏队列异步执⾏,并⾏队列同步执⾏,并⾏队列异步执⾏⽽异步是多线程的代名词,异步在实际引⽤中会开启新的线程,执⾏耗时操作。

那我们先来知道⼀个⾮常重要的事情:

队列只是负责任务的调度,⽽不负责任务的执⾏

任务是在线程中执⾏的

队列和任务的特点:

队列的特点:先进先出,排在前⾯的任务最先执⾏,

串⾏队列:任务按照顺序被调度,前⼀个任务不执⾏完毕,队列不会调度

并⾏队列:只要有空闲的线程,队列就会调度当前任务,交给线程去执⾏,不需要考虑前⾯是都有任务在执⾏,只要有线程可以利⽤,队列就会调度任务。

主队列:专⻔⽤来在主线程调度任务的队列,所以主队列的任务都要在主线程来执 ⾏,主队列会随着程序的启动⼀起创建,我们只需get即可

全局队列:是系统为了⽅便程序员开发提供的,其⼯作表现与并发队列⼀致,那么全 局队列跟并发队列的区别是什么呢?

  1. 全局队列:⽆论ARC还是MRC都不需要考录释放,因为系统提供的我们只需要get就可以了
  2. 并发队列:再MRC下,并发队列创建出来后,需要⼿动释放dispatch_release()

同步执行:不会开启新的线程,任务按顺序执⾏

异步执行:会开启新的线程,任务可以并发的执⾏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值