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

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

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

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

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

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

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

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

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

例:

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

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


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

查看所有标签

猜你喜欢:

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

数据库系统概念

数据库系统概念

Abraham Silberschatz、Henry F. Korth、S. Sudarshan / 杨冬青、马秀莉、唐世渭 / 机械工业 / 2006-10-01 / 69.50元

本书是数据库系统方面的经典教材之一。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等都采用本书作为教科书。我国也有许多所大学采用本书以前版本的中文版作为本科生和研究生的数据库课程的教材和主要教学参考书,收到了良好的效果。 本书调整和新增内容:调整了第4版的讲授顺序。首先介绍SQL及其高级特性,使学生容易接受数据库设计的概念。新增数据库设计的专......一起来看看 《数据库系统概念》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具