다음을 통해 공유


응용 프로그램 도메인과 스레드

응용 프로그램 도메인은 보안, 버전 관리, 안정성 및 관리 코드 언로드를 위해 격리 경계를 구성합니다. 스레드는 코드를 실행하기 위해 공용 언어 런타임에서 사용하는 운영 체제 구문입니다. 런타임에서 모든 관리 코드는 응용 프로그램 도메인에 로드되고 관리되는 스레드에 의해 실행됩니다.

응용 프로그램 도메인과 스레드 간에는 일대일 상관 관계가 없습니다. 일부 스레드는 단일 응용 프로그램 도메인에서 언제든지 실행할 수 있으며 특정 스레드는 단일 응용 프로그램 도메인으로 제한되지 않습니다. 즉, 스레드는 크로스 응용 프로그램 도메인 경계에 종속되지 않고 각 응용 프로그램 도메인에 대해 새 스레드가 만들어지지 않습니다.

언제든지 한 응용 프로그램 도메인에서 모든 스레드가 실행됩니다. 지정된 응용 프로그램 도메인에서 0개, 한 개 또는 둘 이상의 스레드가 실행 중일 수 있습니다. 런타임은 응용 프로그램 도메인에서 실행 중인 스레드를 추적하므로 사용자는 언제든지 GetDomain 메서드를 호출하여 스레드가 실행되고 있는 도메인을 찾을 수 있습니다.

응용 프로그램 도메인 및 문화권

CultureInfo 개체를 스레드에 연결할 수 있습니다. 그러나 악의적인 코드가 다른 응용 프로그램 도메인에 들어가지 못하도록 하기 위해 CultureInfo 개체는 해당 스레드가 응용 프로그램 도메인 경계를 넘을 때만 자동으로 읽기 전용으로 설정됩니다.

CultureInfo 개체가 사용자 지정된 Calendar 등을 사용하여 사용자 지정된 경우 스레드가 응용 프로그램 도메인 경계를 넘으려고 하면 InvalidOperationException이 throw됩니다.

참고 항목

참조

Thread.GetDomain

개념

응용 프로그램 도메인