Windows Form 앱에서 사용해야하는 백그라운드 스레드 구현의 선택에 대한 문체 질문이 있습니다. 현재 BackgroundWorker
무한 (while(true))
루프 가있는 양식이 있습니다 . 이 루프에서는 WaitHandle.WaitAny
관심있는 일이 발생할 때까지 스레드를 다시 알림을 유지하는 데 사용합니다. 내가 기다리는 이벤트 핸들 중 하나는 " StopThread
"이벤트이므로 루프에서 벗어날 수 있습니다. 이 이벤트는 재정의 된 시점에서 알립니다 Form.Dispose()
.
BackgroundWorker
파일을 다운로드하거나 일련의 항목을 처리하는 것과 같이 UI를 묶고 싶지 않은 유한 한 작업을 위해 실제로 작성된 곳을 읽었 습니다. 이 경우 "종료"는 알 수 없으며 창을 닫을 때만 가능합니다. 따라서이 BackgroundWorker
목적 대신 배경 스레드를 사용하는 것이 더 적절 합니까?