gpt4 book ai didi

multithreading - 线程池和多核系统

转载 作者:行者123 更新时间:2023-12-04 06:43:17 31 4
gpt4 key购买 nike

您认为线程池设计模式是多核 future 的发展方向吗?

例如,如果广泛使用线程池库,则会创建/强制应用程序编写器

(1) 将问题分解为单独的并行作业,从而促进(执行:))并行性

(2) 对所有低级操作系统调用、同步等进行抽象,使程序员的生活更轻松。 (特别是对于 C 程序员:))

我坚信它是多核 future 的最佳方式(或“最佳”方式之一:))......

所以,我的问题是,我是这么想的还是我有错觉:)

问候,

微内核

最佳答案

线程池是一种涉及队列和多个线程从队列中获取作业并处理它们的技术。这与每当有新任务到达时就启动新线程的技术形成对比。

好处是最大线程数是有限以避免线程过多并且任何新任务涉及的开销更少(线程已经在运行并占用任务。无需启动威胁)。

这是否是一个好的设计在很大程度上取决于您的问题。如果您有许多短期工作以非常快的速度进入您的程序,那么这是一个好主意,因为较低的开销确实是一个好处。如果您有大量的并发任务,这是一个好主意,可以让您的调度程序不必做太多的工作。

线程池在很多领域都没有帮助。所以你不能一概而论。有时根本不可能使用多线程。甚至不需要,因为多线程会在您的代码中添加不可预测的元素(竞争条件),这非常难以调试。

线程池库几乎不能“强制”您使用它。你仍然需要仔细考虑,如果你只是开始一个线程......不会有帮助。

关于multithreading - 线程池和多核系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4924692/

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