gpt4 book ai didi

c# - 运行多个线程时程序执行缓慢

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

我已经用C#编写了一个程序,使用不同的线程可以完成很多并行工作。当我达到大约300个线程时,程序的GUI开始变得缓慢,线程的执行速度也急剧下降。线程正在从另一台计算机上运行的mySQL数据库读取和写入数据。

有趣的是,如果我将工作拆分到同一台机器上的两个进程之间,则一切运行得都很好。 .net框架或Windows中的每个进程都有线程限制吗?还是为什么我会得到这种行为?可能是与网络相关的问题吗?我正在运行Windows 7 Ultimate,并且我尝试了VS2010和VS 2012具有相同的行为。

最佳答案

分配处理器时间的方式是:操作系统为每个进程分配处理器时间,然后每个进程为每个线程分配时间。
因此,两个进程将获得两倍的处理器时间,这就是为什么如果将程序分为两个进程,它将更快地工作。
如果要使GUI运行更流畅,只需为该线程设置更高的优先级即可。
这样,GUI线程将比其他线程获得更多的处理器时间,但不会那么多,以至于它会明显降低其他线程的运行速度。

关于c# - 运行多个线程时程序执行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12621349/

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