我有一个场景来监控ui测试的状态。如果测试运行时间超过30
分钟,请停止测试运行并从另一个测试开始。这是为模拟相同而开发的代码。如果我在这里重复,我道歉。
参考:execute mutiple object methods parallel
以下是根据我的要求开发的示例程序。我请求专家对我的方法发表评论,并向我提出最好的建议。
<code>
namespace ParallelTasksExample
{
internal class Program
{
private static Stopwatch testMonitor;
private static int timeElapsed;
private static void Main(string[] args)
{
Parallel.Invoke(() => PrintNumber(), () => MonitorSequence());
}
private static void PrintNumber()
{
testMonitor = new Stopwatch();
testMonitor.Start();
for (int i = 0; i <= 10; i++)
{
System.Threading.Thread.Sleep(5000);
timeElapsed = testMonitor.Elapsed.Seconds;
Console.WriteLine("Running since :" + timeElapsed + " seconds");
}
}
private static void MonitorSequence()
{
while (timeElapsed < 25)
{
System.Threading.Thread.Sleep(2000);
Console.WriteLine("Time Elapsed :" + timeElapsed + " seconds");
}
testMonitor.Stop();
testMonitor.Reset();
Console.WriteLine("Test has taken more then 25 seconds. Closing the current test sequence initiated.");
}
}
}
</code>
我正面临一个问题,当基于上面的例子开发实际代码时。 任务1完成,任务2正在进行中。同时任务1正在等待task2完成。我们怎样才能让两个任务都独立?