본문 바로가기
Delphi/문법

TThread.Queue를 활용한 안전한 UI 업데이트

by MonoSoft 2025. 4. 10.
728x90
반응형

TThread.Queue를 활용한 안전한 UI 업데이트

델파이에서 스레드 작업을 할 때 
직접 UI 컴포넌트에 접근하면 오류가 발생할 수 있습니다. 
이때 TThread.Queue를 사용하면 UI 스레드에서 안전하게 
코드를 실행할 수 있습니다. 
백그라운드 작업 중 UI에 메시지를 띄우거나 
데이터를 갱신할 때 매우 유용합니다.

uses
  System.Classes, Vcl.Dialogs;

procedure StartBackgroundTask;
begin
  TThread.CreateAnonymousThread(procedure
  begin
    Sleep(3000); // 3초간 작업 수행

    TThread.Queue(nil, procedure
    begin
      ShowMessage('작업이 완료되었습니다!');
    end);
  end).Start;
end;


실행 결과
3초 대기 후 "작업이 완료되었습니다!" 
메시지 박스가 UI 스레드에서 안전하게 출력됨

● TThread.Queue는 UI 스레드에서 실행되므로 안전하게 컴포넌트를 조작할 수 있음
● TThread.Synchronize보다 큐에 쌓이는 방식으로 더 비동기적이며 부드러움
● 병렬 처리와 사용자 경험을 동시에 개선할 수 있음

 


#델파이
#Delphi
#TThread
#Queue
#UI업데이트
#멀티스레드
#ShowMessage
#비동기처리
#윈도우프로그램
#델파이팁

728x90
반응형

댓글