首页 > 技术文章 > C#等待子线程执行完毕

sclu 2020-05-02 17:54 原文

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsloeApp1
{

    class Program
    {
        static ManualResetEvent manualRestEventA = new ManualResetEvent(false);
        static ManualResetEvent manualRestEventB = new ManualResetEvent(false);
        static void Main(string[] args)
        {


            Task taskA = new Task(new Action(() => {
                for (int i = 0; i < 100; i++)
                {
                    Console.WriteLine("*******************************************************************");

                }
                manualRestEventA.Set();
            }));

            Task taskB = new Task(new Action(() => {
                for (int i = 0; i < 1000; i++)
                {
                    Console.WriteLine("____________________________________________________________________");
                }

                manualRestEventB.Set();
            }));

            taskA.Start();
            taskB.Start();

            manualRestEventA.WaitOne();
            manualRestEventB.WaitOne();

            Console.WriteLine("Synchornolyze Done");

            Console.ReadKey();
        }
    }
}

  

推荐阅读