两个线程之间的延迟

时间:2015-09-17 17:45:04

标签: c# .net multithreading

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

    [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)

方法,但它们都不起作用。第二个线程仍在第一个线程上生成,没有任何延迟。

1 个答案:

答案 0 :(得分:0)

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

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