gpt4 book ai didi

c# - 多线程 - 5 或 100 个线程?

转载 作者:太空宇宙 更新时间:2023-11-03 19:21:11 25 4
gpt4 key购买 nike

我有一个双核处理器,现在假设我想制作一个垃圾邮件机器人程序,它会发送诸如“嘿,你好吗?”之类的垃圾邮件。

我的问题是,多少线程能够最快弹出这些消息,运行 5 个线程或 100 个线程来发送消息? (当然,这些数字并不特殊,只是为了举例)。所有线程都将以线程安全的方式运行。

编辑:至于之前的反对票,我并不是真的在写垃圾邮件程序,我只是作为我的问题的一个例子提到它,抱歉造成误解

最佳答案

理想的线程数取决于您的硬件(在本例中为双核处理器)以及这些线程正在执行的操作。如果它们是 CPU 密集型,每个内核超过 1 个线程可能会减慢速度。

如果线程执行一些 IO,您将看到通过添加线程整体性能提高。 yield 递减点完全取决于非 CPU 任务的性质和特定硬件。

要找到那个点,您将必须测试各种线程总数。

您可以将您的系统设计为自行调整正在使用的线程数。我曾经设计过一个系统,当总 CPU 负载大约为 70% 时,它运行得最好(最大总吞吐量)。为了针对该值进行优化,我添加了线程(线程之间有延迟),直到 CPU 达到 70%,+/- 5%。如果它超过 80%,我将向一个或多个线程发出信号以完成它们当前的工作并终止。如果低于 60%,我会逐渐添加线程。工作起来很有魅力。

关于c# - 多线程 - 5 或 100 个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059825/

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