gpt4 book ai didi

ios - 混淆线程和队列之间的技术术语

转载 作者:行者123 更新时间:2023-11-29 12:38:05 25 4
gpt4 key购买 nike

我是 iPhone 开发的新手。由于专注于开发多线程应用程序,我引用了一些 Apple 文档和其他解释线程和多线程概念的文档。但就工作队列而言,我在理解线程、任务和队列之间的关系时感到困惑。一些文档说,一个线程可以有多个任务,这些任务存储在队列中,因此每个线程都可以有自己的队列。然而,有人说,线程本身存储在队列中。

我的问题是,我们可以说:

(1) 线程可以有多个任务,这些任务在该线程的队列中存储和管理。

(2) 线程本身在队列中存储和管理。

其次,我也读过这样的东西:

Another advantage of using a thread pool over creating a new thread for each task is thread creation and destruction overhead is negated.

线程池是工作队列的同义词吗?

最佳答案

我现在清楚了。

线程和队列是完全不同的东西。线程是独立的执行代码,而队列是维护任务的数据结构。一个线程可以有多个任务,并且可以为特定目标创建所有线程,即 Process。一个线程在内存中有自己的空间来存放它的变量和其他东西。

因此,在多线程编程中,队列是一种处理要执行的任务序列的机制。队列总是按顺序执行任务。但是,如果我们想并发执行任务,就必须创建并发队列。因此,多个队列可以同时执行,有利于多道程序设计。使用最新的 API,如何安排这些任务取决于操作系统。任务可能会也可能不会在单独的线程上执行。结构始终取决于我们的要求。

关于ios - 混淆线程和队列之间的技术术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25722452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com