Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 循环并继续处理_C# 4.0 - Fatal编程技术网

C# 4.0 循环并继续处理

C# 4.0 循环并继续处理,c#-4.0,C# 4.0,在我的应用程序中,我有一个While(True){}循环,它一直在运行。 这需要100%的CPU使用率。 即使这个while循环也是从多个线程调用来运行某些特定的函数,因此它强制CPU以100%的速度运行 我已经根据一些条件设置了一些睡眠,比如集合为空,然后需要睡眠,但如果集合已满,则不会减少CPU的使用 While(true) { if(condition) Thread.sleep(30);//Under some condition //Process data on collection

在我的应用程序中,我有一个While(True){}循环,它一直在运行。 这需要100%的CPU使用率。 即使这个while循环也是从多个线程调用来运行某些特定的函数,因此它强制CPU以100%的速度运行

我已经根据一些条件设置了一些睡眠,比如集合为空,然后需要睡眠,但如果集合已满,则不会减少CPU的使用

While(true)
{
if(condition)
Thread.sleep(30);//Under some condition
//Process data on collection
//Set sleep condition
}

如何控制此循环并允许其他进程和线程工作。

如果:

while(true) 
{
   if (condition) {
      //treat data
   }
   sleep(30)
}
现在,您只在列表为空时才睡觉,当列表已满时,您将返回活动等待,因此使用100%的CPU