질문과 답변

WIN32, MFC 스레드에서 UI컨트롤 내용 변경 날짜:2023-1-31 3:55:38 조회수:126
작성자 : 꿀꿀이호떡
포인트 : 23
가입일 : 2021-09-23 14:14:22
방문횟수 : 14
글 3개, 댓글 4개
소개 :
작성글 보기
쪽지 보내기
작업스레드에서 Static 컨트롤의 내용을 변경할 때
PostMessage 를 사용하여 메인스레드에서 내용을 변경하도록 해왔는데요

WIn32나 mfc는 작업 스레드에서 바로 변경해도 에러가 나지가 않고
스레드 내에서 윈도우 dc에 바로 textout을 해도 에러가 나지 않더라구요..

운이 좋게 에러가 안난 것인지..
Win32, MFC에서는 작업 스레드에서 UI 변경이 안전한 것인지 궁금합니다.

목록보기 삭제 수정 신고 스크랩

작가K 2월3일 6:05:26  

작업 스레드에서 변경할 때도 결국은 SendMessage를 경유하기 때문에 문제가 없습니다.
그러나 DC에 바로 출력하는건 위험해요. 운좋게 스레드가 자원을 독점할 수도 있지만 메인 스레드에서도 똑같은 윈도우에 DC를 얻어 출력하면 혼선이 생기겠지요. 원칙적으로 안된다고 보시는게 맞지 않을까 싶네요. 꼭 변경할 내역이 있다면 메인 스레드로 출력 내용을 보내 메인이 출력하게 하는게 맞는 방향입니다. 작업 스레드는 작업만 하는게 원칙이에요.

꿀꿀이호떡 2월3일 11:13:11  

감사합니다~~~


로그인하셔야 댓글을 달 수 있습니다.