两个线程之间的延迟

本文关键字:之间 延迟 线程 两个 | 更新日期: 2023-09-27 18:13:15

我有一个单元测试方法,由初始化和启动两个线程组成:

    [Test]
    public void ReportGeneratorTwoThreadTest()
    {
        var logger = new Log4NetLogger(typeof(ReportGeneratorThreadTest));
        for (var i = 0; i < 2; i++)
        {
            var estimatedReportSize = EstimatedReportSize.Normal;
            var reportGeneratorThread = new ReportGeneratorThread(logger, new ReportGenerator(20), estimatedReportSize);
            reportGeneratorThread.Start();
            Thread.Sleep(2000); 
        }
    }

我想使用延迟功能在第一个线程后2秒启动第二个线程。我使用了

Task.Delay(2000)

Thread.Sleep(2000)

方法,但没有一个有效。第二个线程仍然在第一个线程上生成,没有任何延迟。

两个线程之间的延迟

我无法复制您的问题。这是我运行的代码:

public static void Main()
{
     for (var i = 0; i < 2; i++)
     {
         var t = new Thread(() => Console.WriteLine(DateTime.Now));
         t.Start();
         Thread.Sleep(2000);
     }
     Console.ReadKey();
 }

然后打印:

9/17/2015 1:18:49 PM 
9/17/2015 1:18:51 PM