【发布时间】:2015-12-08 05:54:08
【问题描述】:
我不知道不同的 Thread.Sleep() 和 Task.Wait()。
public void Start ()
{
mytask = new Task( ()=> { this.Proccess(); });
mytask.Start();
}
private void Process()
{
while(true)
{
if( blahblah )
{ process.. }
else
{
Thread.Sleep((int)1000/30); // name is "A".
// mytask.Wait( (int)1000/30 ); // name is "B".
}
}
}
我使用的是 C++ 语言。 然后我使用 Sleep() 进行线程上下文切换。
“A”代码是cpu使用率低。 “B”代码是cpu使用率低。
所以“A”和“B”正在做上下文切换。
有什么不同?我用的是什么代码?
【问题讨论】:
-
也许您将 Task.Delay 与 Task.Wait 混淆了? Task.Wait 完全不同。
标签: c# multithreading loops wait sleep