C# Thread.Sleep(0)是什么意思?
这是否意味着没有延误 一本书上写着 ** 睡眠(0)放弃线程的当前时间片 立即主动将CPU移交给其他线程 **C# Thread.Sleep(0)是什么意思?,c#,C#,这是否意味着没有延误 一本书上写着 ** 睡眠(0)放弃线程的当前时间片 立即主动将CPU移交给其他线程 ** 这是否意味着即使应该执行一条语句,为sleep指定0也会暂时跳过执行?这意味着您将允许其他进程运行其代码,但也要尽快继续自己的代码。它允许操作系统继续处理可能正在等待的任何其他线程。下一条语句将在当前线程恢复时立即执行,这可能是在其他线程退出时立即执行的,也可能是在一段时间后执行的。0表示没有最短的时间段将控件返回到线程。但是,如果此时有任何其他线程准备运行,那么它们很可能会被调度,因
这是否意味着即使应该执行一条语句,为sleep指定0也会暂时跳过执行?这意味着您将允许其他进程运行其代码,但也要尽快继续自己的代码。它允许操作系统继续处理可能正在等待的任何其他线程。下一条语句将在当前线程恢复时立即执行,这可能是在其他线程退出时立即执行的,也可能是在一段时间后执行的。0表示没有最短的时间段将控件返回到线程。但是,如果此时有任何其他线程准备运行,那么它们很可能会被调度,因此您的线程将在非零时段睡眠 您指定的任何其他时间段也是如此--Sleep(N)意味着它应该在指定的时间内至少睡眠一段时间,但可能睡眠任意更长的时间 同时,Sleep(0)并不意味着如果没有其他线程准备运行,控制可以/将立即返回到您的线程。使用
线程。Sleep(0)
您的代码将暂停一个周期,然后安排到下一个可用插槽 可能是
bool isRunning;
public void Main
{
Thread t = new Thread(Method);
t.Start();
isRunning = true;
}
public void Method(int i)
{
while(isRunning)
{
i = 0;
i++;
Thread.Sleep(0);
Console.WriteLine(i);
}
}
呃。。。什么?你可以在那里用。你可以把它放在任何地方。这并不能解释它是什么或是做什么的。