我是iOS开发的新手。现在,我对这两个概念感到非常困惑:“线程”和“队列”。我所知道的是它们都与多线程编程有关。谁能为我解释这两个概念以及它们之间的区别?提前致谢!
在阅读我的答案之前,您可能需要考虑阅读以下内容-远离线程
我将讨论保持理论性,因为您的问题没有任何代码示例。这两种构造都是提高应用程序响应度和可用性所必需的。
消息队列是一种数据结构,用于保存从发送消息到接收者检索消息并对其执行操作的时间。通常,队列用作“连接”(数据的)生产者和(数据的)使用者的方式。
线程池是执行某种处理的线程池。线程池通常将附加某种类型的线程安全队列(请参阅消息队列),以使您可以将要完成的作业排队。在这里,队列通常被称为“任务队列”。
因此,线程池可能存在于生产者端(生成数据)或消费者端(处理数据)。而“传递”数据的方法将是通过队列。为什么需要这个“中间人”-
例子:
在iOS中,主线程(也称为UI线程)非常重要,因为它负责将事件分发到适当的小部件,并且其中包括绘图事件,基本上是用户可以看到并进行交互的UI。
如果您触摸屏幕上的按钮,则UI线程会将touch事件调度到应用程序,该应用程序又将其设置为按下状态,并将请求发布到事件队列。UI线程使请求出队,并通知窗口小部件重新绘制自身。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句