C# Thread.Sleep(0)是什么意思?

C# Thread.Sleep(0)是什么意思?,c#,C#,这是否意味着没有延误 一本书上写着 ** 睡眠(0)放弃线程的当前时间片 立即主动将CPU移交给其他线程 ** 这是否意味着即使应该执行一条语句,为sleep指定0也会暂时跳过执行?这意味着您将允许其他进程运行其代码,但也要尽快继续自己的代码。它允许操作系统继续处理可能正在等待的任何其他线程。下一条语句将在当前线程恢复时立即执行,这可能是在其他线程退出时立即执行的,也可能是在一段时间后执行的。0表示没有最短的时间段将控件返回到线程。但是,如果此时有任何其他线程准备运行,那么它们很可能会被调度,因

这是否意味着没有延误

一本书上写着 **

睡眠(0)放弃线程的当前时间片 立即主动将CPU移交给其他线程

**


这是否意味着即使应该执行一条语句,为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);
    }
}

呃。。。什么?你可以在那里用。你可以把它放在任何地方。这并不能解释它是什么或是做什么的。