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

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

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

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

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

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

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

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

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

例:

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

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


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

查看所有标签

猜你喜欢:

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

硅谷之火

硅谷之火

保罗·弗赖伯格、迈克尔·斯韦因 / 张华伟 编译 / 中国华侨出版社 / 2014-11-1 / CNY 39.80

《硅谷之火:人与计算机的未来》以生动的故事,介绍了计算机爱好者以怎样的创新精神和不懈的努力,将计算机技术的力量包装在一个小巧玲珑的机壳里,实现了个人拥有计算机的梦想。同时以独特的视角讲述了苹果、微软、太阳微系统、网景、莲花以及甲骨文等公司的创业者们在实现个人计算机梦想的过程中创业的艰辛、守业的艰难、失败的痛苦,在激烈竞争的环境中奋斗的精神以及在技术上不断前进的历程。一起来看看 《硅谷之火》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具