2013-03-31 2 views
0

새 요청이 제기되기 전에 이벤트가 완료 될 때까지 기다릴 필요가있는 응용 프로그램을 개발 중입니다. 예 : - 레코드 처리 응용 프로그램에서 중단 단추를 클릭하는 사람이 있으면 현재 레코드 처리가 완료된 경우에만 응용 프로그램이 존재하는지 확인해야합니다. 내 응용 프로그램에서 스레드를 사용하고 있지 않습니다.Wait() 메서드를 사용하지 않고 이벤트가 끝날 때까지 기다리는 방법?

제 질문은 우리가 달성 할 수있는 효율적인 방법은 무엇입니까? 샘플 코드는 큰 도움이 될 것입니다.

+0

이 마법은 존재하지 않습니다. BackgroundWorker 및 Task 클래스는이를 구현하는 데 도움을 주도록 고안되었습니다. –

+0

@Bose_geek "존재"대신 "종료"를 의미한다고 가정합니까? –

답변

0

백그라운드에서 비동기 처리 (어떤 의미로든 일반 스레드가 아닌)를 사용하지 않는 경우 현재 처리가 끝날 때까지 응용 프로그램 닫기가 연기됩니다.

그래서 이런 종류의 동작은 즉시 사용할 수 있습니다.

+0

그래서 이해할 수있는 것은 내가 중단 버튼 이벤트에서 Application.close()를 작성하더라도 백그라운드 처리가 끝나기를 기다릴 것입니다. 따라서 1000 레코드를 처리해야하고 998 번째 레코드에서 중단을 클릭하면 998 번째 레코드 처리가 끝나고 종료됩니다. 이게 무슨 뜻인가요? –

관련 문제