2008-10-23 2 views

답변

1

, 당신은 일반적으로 작업자 상태를 폴링하기 위해 GUI 스레드에서 Timer 객체를 사용하려면 (어느 쪽 작업자 또는 UI에서?) - - 다른 작업을 수행하는 좋은 이유가없는 한 더 쉽습니다 ...

Windows의 작업자 스레드에서 UI 루틴으로 함수 호출을 할 수 없습니다. 정의되지 않은 동작이 발생하므로 조심하십시오!

+0

나는 그것이 UI에서 얻고 싶었던 취소 상태로 눈을 멀게했다. 나는 단지 상태를 항상 업데이트하고 항상 취소 값을 확인하도록 구조를 변경해야한다고 생각한다. 생각할 필요가있다. 이 공유 상태에 대해 – CiNN

1

플랫폼 및 개발 환경에서 지원하는 경우 일종의 비동기 메시징 시스템이 잘 작동합니다. Win32에서는 필자가 "게시"하는 일반 Windows 메시지를 사용하므로 (스레드를 차단하지 않음) UI의 표준 기본 메시지 스레드가 메시지를 선택하여 처리합니다. 나는 보통 커스텀 메시지도 정의한다.

타이머 사용이 차선책이므로 이러한 정보를 "폴링"할 필요가 없습니다.

관련 문제