gpt4 book ai didi

c# - 如何创建一个不会减慢 PC 速度的永无止境的线程

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

我用 C# 开发了一个 Windows 服务,它在 OnStart 事件中启动 7 个线程,调用一个方法来初始化一些硬件设备,然后在等待来自这些设备的外部事件时进入 while 循环。

while 循环(在每个线程中)是:

            try
{
while (!_shutdownEvent.WaitOne(0)) { }
}
catch
{

}

问题是,当服务启动时(因此,线程正在运行),PC 变得非常慢。执行此类循环的最佳方法是什么?

线程初始化在while循环之前,线程清理在while循环之后。

最佳答案

可能您可以在每次迭代后让您的线程休眠几毫秒。

try
{
while (!_shutdownEvent.WaitOne(0))
{
Thread.Sleep(1000);
}
}
catch
{
}

关于c# - 如何创建一个不会减慢 PC 速度的永无止境的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32213663/

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