The use of CountDownEvent in c
#class Program { static CountdownEvent _count = new CountdownEvent(3); static void Main(string[] args) { Task.Factory.StartNew(() => { Thread.Sleep(2000); Console.WriteLine("thread 1 complete"); _count.Signal(); }); Task.Factory.StartNew(() => { Thread.Sleep(5000); Console.WriteLine("thread 2 complete"); _count.Signal(); }); Task.Factory.StartNew(() => { Thread.Sleep(3000); Console.WriteLine("thread 3 complete"); _count.Signal(); }); Console.WriteLine("waiting tasks...."); _count.Wait(); Console.WriteLine("all task completed"); Console.ReadKey(); } } 使用TASK的waitAll可以达到同样的效果: var t1 = Task.Factory.StartNew(() => { Thread.Sleep(2000); Console.WriteLine("thread 1 complete"); }); var t2 = Task.Factory.StartNew(() => { Thread.Sleep(5000); Console.WriteLine("thread 2 complete"); }); var t3 = Task.Factory.StartNew(() => { Thread.Sleep(3000); Console.WriteLine("thread 3 complete"); }); Console.WriteLine("waiting tasks...."); Task.WaitAll(t1, t2, t3); Console.WriteLine("all task completed"); Console.ReadKey();
The above is the content of the use of CountDownEvent in c#. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!