Csharp/CSharp Tutorial/Thread/WaitHandle — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:31, 26 мая 2010
Waiting with WaitHandle
<source lang="csharp">using System; using System.Threading; class ThreadSleeper {
AutoResetEvent napDone = new AutoResetEvent(false); public void Sleep() { Thread.Sleep(1000); napDone.Set(); } public static WaitHandle GetWaitHandle() { ThreadSleeper ts = new ThreadSleeper(); Thread thread = new Thread(new ThreadStart(ts.Sleep)); thread.Start(); return(ts.napDone); }
} class MainClass {
public static void Main() { WaitHandle[] waits = new WaitHandle[2]; waits[0] = ThreadSleeper.GetWaitHandle(); waits[1] = ThreadSleeper.GetWaitHandle(); Console.WriteLine("Waiting for threads to finish"); WaitHandle.WaitAll(waits); Console.WriteLine("Threads finished"); }
}</source>
Waiting for threads to finish Threads finished