AutoResetEvent가 프로세스 1에서 WaitOne을 호출하고 프로세스 2에서 다시 호출되고 프로세스 2가 동일한 AutoResetEvent에서 Set을 호출하면 프로세스 1에서 호출되기 전에 Process1에 대한 잠금이 해제되지 않아야합니다 2?이라는 이름의 EventWaitHandle 릴리스 주문
프로세스 1과 2를 실행하는 데 사용한 샘플 코드가 있습니다. 프로세스 1을 인수없이 실행하므로 wh.WaitOne()에서 중단됩니다. 프로세스 2를 인수로 실행하여 Set()을 호출합니다. 관찰 한대로 프로세스 2의 잠금이 프로세스 1 대신 해제되었습니다.
AutoResetEvent의 잠금 대기열이 처음에 처음 작동해야합니까? 잠금에서
class ThreadSafe
{
static EventWaitHandle wh = new EventWaitHandle(false, EventResetMode.AutoReset, "abc");
static void Waiter(String t)
{
wh.WaitOne();
}
static void Main(string[] args)
{
new Thread(delegate() { Waiter("a"); }).Start();
if (args.Length > 0)
{
wh.Set();
}
}
}