C#에서 CountDownEvent 사용
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();
위는 C#에서 CountDownEvent를 사용하는 내용입니다. 자세한 내용은 PHP 중국어 홈페이지(www.kr)를 참고해주세요. .php.cn)!