STAThread 속성 – WPF
WPF 애플리케이션에서 [STAThread] 속성은 Main Thread가 STA(Single-Threaded Apartment) 모델을 사용하도록 지정합니다. STA 모델은 COM(Component Object Model)의 스레드 모델 중 하나로, UI 요소들이 단일 스레드에서 안전하게 처리되도록 보장합니다. 이는 스레드 간 동기화 문제를 줄여주며, UI 컴포넌트와의 호환성이 좋습니다.
그러나 STA 모델은 모든 작업이 단일 스레드에서 실행되므로 성능 저하가 발생할 수 있습니다. 이를 해결하기 위해서는 스레드를 새로 만들어 작업을 분리하고, UI와의 상호작용 시 Dispatcher.Invoke를 사용하여 UI 스레드에서 코드를 실행해야 합니다.