我正在尝试对外部方法进行测试,以检查该方法是否是线程安全的。多用户场景。我的代码看起来像这样。
public async Task ComputeAirPressureDropThread_OK()
{
var tasks = new List<Task<double>>();
for (int i = 1; i <= 10; i++)
{
Task<double> t = new Task<double>(() =>
{
var friterm = new Coil();
return friterm.ComputeAirPressureDrop(150);
}
);
t.Start();
tasks.Add(t);
}
var results = await Task.WhenAll(tasks);
foreach (var result in results)
{
Assert.AreEqual(result,
5.62194204005949,
0.0001);
}
}
上面代码中的方法ComputeAirPressureDrop(150)是我试图测试它是否是线程安全的。但是在运行测试时我会遇到这样的错误。代码是4.6和vs 2015.该函数是具有正常引用的外部COM dll。