使用C#并行执行2个方法

时间:2016-04-21 05:28:24

标签: c# parallel-processing

我有一个场景来监控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完成。我们怎样才能让两个任务都独立?

0 个答案:

没有答案