iOS开发中’thread’和’queue’有什么区别?

栏目: IOS · 发布时间: 6年前

内容简介:我保持理论上的讨论,因为你的问题没有任何代码样本.这两种结构都是提高应用响应能力所必需的.可用性.消息队列是一种数据结构,用于将消息从发送时起保存到接收方检索并对其进行操作的时间.通常,队列被用作“连接”生成者(数据)和“生成”的方式.消费者(数据).线程池是执行某种处理的线程池.线程池通常会附加一些线程安全队列(引用消息队列),以允许您排队要完成的作业.这里队列通常被称为“任务队列”.
在您阅读我的答案之前,您可能需要考虑阅读本文 – Migrating away from Threads

我保持理论上的讨论,因为你的问题没有任何代码样本.这两种结构都是提高应用响应能力所必需的.可用性.

消息队列是一种数据结构,用于将消息从发送时起保存到接收方检索并对其进行操作的时间.通常,队列被用作“连接”生成者(数据)和“生成”的方式.消费者(数据).

线程池是执行某种处理的线程池.线程池通常会附加一些线程安全队列(引用消息队列),以允许您排队要完成的作业.这里队列通常被称为“任务队列”.

因此,在某种程度上,线程池可能存在于生产者端(生成数据)或消费者端(处理数据).而“传递”数据的方式是通过队列.为什么需要这个“中间人” –

>它解耦系统.生产者不了解消费者和消费者.反之亦然.

>如果生产者数据出现峰值,消费者不会被数据轰炸.队列长度会增加,但消费者是安全的.

例:

在iOS中,主线程(也称为UI线程)非常重要,因为它负责将事件分派给适当的小部件,这包括绘图事件,基本上是用户看到的UI和.交互.

如果触摸屏幕上的按钮,UI线程会将触摸事件分派给应用程序,然后应用程序会设置其按下状态并将请求发布到事件队列. UI线程将请求出列并通知窗口小部件重绘自身.


以上所述就是小编给大家介绍的《iOS开发中’thread’和’queue’有什么区别?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spark SQL内核剖析

Spark SQL内核剖析

朱锋、张韶全、黄明 / 电子工业出版社 / 2018-8 / 69.00元

Spark SQL 是 Spark 技术体系中较有影响力的应用(Killer application),也是 SQL-on-Hadoop 解决方案 中举足轻重的产品。《Spark SQL内核剖析》由 11 章构成,从源码层面深入介绍 Spark SQL 内部实现机制,以及在实际业务场 景中的开发实践,其中包括 SQL 编译实现、逻辑计划的生成与优化、物理计划的生成与优化、Aggregation 算......一起来看看 《Spark SQL内核剖析》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具