Waithandle이 설정되었는지 확인하는 방법은 무엇입니까?
-
27-09-2020 - |
문제
나는 Waithandle 를 원하고 싶습니다.Waithandle이 이미 설정되었는지 여부를 확인하는 방법을 알아야합니다.
참고 : i bool 변수를 추가 할 수 있고 set () 메소드가 사용될 때마다 변수를 true로 설정하지만,이 동작은 어딘가에 waithandle에 빌드되어야합니다.
도움말 감사드립니다!
해결책
밀리시컨스 티임 아웃이 0이면 메소드가 차단되지 않습니다.대기 핸들의 상태를 테스트하고 즉시 반환합니다.
다른 팁
const int DoNotWait = 0;
ManualResetEvent waitHandle = new ManualResetEvent(false);
Console.WriteLine("Is set:{0}", waitHandle.WaitOne(DoNotWait));
waitHandle.Set();
Console.WriteLine("Is set:{0}", waitHandle.WaitOne(DoNotWait));
.
출력 :
가 설정됩니다. false
가 설정됩니다. true
WaitOne (int millisecondstimeout, bool exitContext) 메서드 및 TimeSpan의 경우 0을 통과합니다.그것은 바로 돌아갈 것입니다.
bool isSet = yourWaitHandle.WaitOne(0, true);
. 제휴하지 않습니다 StackOverflow