Thread.Sleep c #.NET

N.D*_*N.D 3 .net c# multithreading

我想把一个线程睡觉,我没有睡眠方法.

我用过System.Threading.

在我的代码中我写道:

Thread t = new Thread(StartPointMethod);
t.
Run Code Online (Sandbox Code Playgroud)

在方法列表中没有睡眠....

可能是什么问题呢?

Sal*_*leh 17

此代码用于睡眠当前线程为20秒.

System.Threading.Thread.Sleep(20000);
Run Code Online (Sandbox Code Playgroud)

  • `t.Join(20000)` 不会导致另一个线程休眠。它最多等待 20 秒让另一个线程终止。如果线程没有在该时间段内终止,`Join` 返回,但另一个线程不受影响。 (2认同)

Far*_*ker 12

在您想要睡眠的新线程中的任何方法中使用此方法.

System.Threading.Thread.Sleep(500);
Run Code Online (Sandbox Code Playgroud)


fae*_*ter 10

Sleep是'Thread'上的静态方法,而不是实例方法.因此,使线程睡眠的方法是在其中执行方法中有一个Thread.Sleep语句.

由于Thread.Sleep将始终使执行线程休眠,您可以在下面示例的行中执行某些操作.

    private void Foo()
    {
        Thread t = new Thread(new ThreadStart(ThreadWorker));
        t.Start();

        t.Join();
    }

    private void ThreadWorker()
    {
        Console.WriteLine("Prior to sleep");
        Thread.Sleep(100);
        Console.WriteLine("After sleep sleep");
    }
Run Code Online (Sandbox Code Playgroud)