我有一个单元测试方法,包括初始化和启动两个线程:
[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)
方法,但它们都不起作用。第二个线程仍在第一个线程上生成,没有任何延迟。
答案 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