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 中国語 Web サイト (www.php.cn) に注目してください。