我不知道不同的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”正在进行上下文切换。
有什么不同?我使用的代码是什么?
答案 0 :(得分:1)
Thread.sleep表示线程正在挂起而无法正常工作。
Task.Wait表示等待异步线程完成。