gpt4 book ai didi

multithreading - 与线程相比,任务轻巧吗?

转载 作者:行者123 更新时间:2023-12-04 06:44:02 25 4
gpt4 key购买 nike

我听不到一个同事说任务基本上是一个轻量级线程。来自C++背景(线程在其中最轻的处理单元所在的地方),这对我来说似乎是违反直觉的。

任务不像线程那么重吗?

最佳答案

您需要区分工作单元(任务)和用于承载/执行工作的基础过程。 Task甚至不必在其他线程上运行。例如,可以在单线程应用程序中执行任务,该应用程序会定期将控制权交给任务池。

即使在单独的线程上执行任务,任务与线程之间通常也不存在一对一的关系。线程被预分配为池的一部分,然后计划任务在可用时在这些线程上运行。创建新任务并不需要创建线程的开销,而只需要在任务队列中入队的代价。

这使任务本质上具有更大的可伸缩性。在我的应用程序的整个生命周期中,我可以完成数百万个任务,但实际上只能使用一定数量的线程。

关于multithreading - 与线程相比,任务轻巧吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17110956/

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