... | ... | @@ -2,18 +2,18 @@ |
|
|
|
|
|
WPF 응용 프로그램은 STA (Single Thread Apartment) 모델을 사용한다.
|
|
|
|
|
|
STA 모델은 인터페이스 전체를 하나의 스레드가 소유하는것을 의미한다.
|
|
|
STA 모델은 인터페이스 전체를 하나의 쓰레드가 소유하는것을 의미한다.
|
|
|
|
|
|
이 모델을 사용하기 위해 WPF 응용 프로그램은 DispathcerObject의 Dispatcher를 이용하여 화면을 업데이트 한다.
|
|
|
|
|
|
WPF의 모든 컨트롤은 DispatcherObject로 부터 파생되어 자신을 소유하고 있는 스레드에서만 접근이 가능하다.
|
|
|
WPF의 모든 컨트롤은 DispatcherObject로 부터 파생되어 자신을 소유하고 있는 쓰레드에서만 접근이 가능하다.
|
|
|
|
|
|
만약 다른 스레드에서 컨트롤에 접근을 시도하면 아래와 같은 런타임 오류가 발생한다.
|
|
|
만약 다른 쓰레드에서 컨트롤에 접근을 시도하면 아래와 같은 런타임 오류가 발생한다.
|
|
|
|
|
|
___"The calling thread cannot access this object because a different thread owns it."___
|
|
|
|
|
|
|
|
|
UI 스레드가 아닌 스레드에서 UI 스레드로 접근하려 할 때도 아래와 같은 오류가 발생한다.
|
|
|
UI 쓰레드가 아닌 쓰레드에서 UI 쓰레드로 접근하려 할 때도 아래와 같은 오류가 발생한다.
|
|
|
|
|
|
___"The calling thread must be STA, because many UI components require this."___
|
|
|
|
... | ... | |