Csharp/C Sharp by API/System.Threading/WaitHandle — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 15:31, 26 мая 2010
new WaitHandle
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");
}
}