_threadPauseEvent = new ManualResetEvent(false);
_threadExitEvent = new ManualResetEvent(false);
private void ThreadFunction()
{
while (WaitHandle.WaitAny([_threadPauseEvent, _threadExitEvent]) == 0)
{
// 반복 또는 순차적인 작업
Thread.Sleep(~);
}
}
C++에서 WaitForMultiObjects를 사용하듯이
단순히 반복 또는 순차적인 작업 스레드를 만들 때 위처럼 구현하여
종료 일시정지 재개 를 구현하곤 하는데
WaitHandle.WaitAny 에 대한 오버헤드가 혹시 있을까 해서 작성할 때 마다 망설여 집니다…
위와 같은 방식보다 혹시 더 효율적인 방법이 있을까요?