Share via


應用程式定義域和執行緒

應用程式定義域會形成 Managed 程式碼的安全性、版本控制、可靠性及卸載的隔離界限。執行緒是 Common Language Runtime 用來執行程式碼的作業系統建構。在執行階段,所有 Managed 程式碼都會載入到應用程式定義域,並由特定的 Managed 執行緒來執行。

在應用程式定義域和執行緒之間不是一對一的相互關聯。幾個執行緒可以在任何指定時間於單一應用程式定義域內執行,而一個特定的執行緒也不受限於單一的應用程式定義域。也就是說,執行緒可以自由跨越應用程式定義域界限;不會對每一應用程式定義域建立一個新的執行緒。

在任何指定的時間,每個執行緒都會在一個應用程式定義域中執行。可能會有零個、一個或多個執行緒在任何指定的應用程式定義域中執行。執行階段會不斷追蹤哪一個執行緒在哪一個應用程式定義域中執行。您可以隨時呼叫 GetDomain 方法來找出有某個執行緒正在其中執行的定義域。

應用程式定義域和文化特性

您可以將 CultureInfo 物件附加至執行緒。但是,為了要阻止惡意程式碼進入其他應用程式定義域,當 CultureInfo 物件的執行緒跨越應用程式定義域界限時,會自動將此物件設定為唯讀。

如果 CultureInfo 物件是自訂的 (例如使用自訂的 Calendar),當執行緒試圖跨越應用程式定義域界限時,將會擲回 InvalidOperationException

請參閱

參考

Thread.GetDomain Method

其他資源

應用程式定義域