可以将在应用程序域中创建的线程移动到其他appdomain。由于每个appdomain彼此隔离,
答案 0 :(得分:0)
如果您指的是Thread
对象,那么它不能在AppDomain边界上“移动”而不进行序列化。但是,您可以通过远程处理与不同AppDomain中的对象进行交互。
答案 1 :(得分:0)
根据msdn msdn.microsoft.com/en-us/library/a60kkx8k.aspx。 : 应用程序域与之间没有一对一的关联 线程。几个线程可以在单个应用程序中执行 域在任何给定的时间和特定的线程不限于 单一应用领域。也就是说,线程可以自由交叉 应用领域边界;不为每个创建新线程 应用领域
来自同一篇文章:
“在任何给定时间,每个线程都在应用程序中执行 域。任何可能正在执行零个,一个或多个线程 给定应用程序域。运行时跟踪哪些线程 正在运行哪些应用程序域。您可以在中找到域 通过调用GetDomain随时执行一个线程 方法“。
重要的一点是,任何时候给定的线程仅限于一个AppDomain。这很重要,如果线程中止或抛出未处理的异常,那么它只会包含受影响的AppDomain。线程之间可以共享的是从MarshalByRefObject或MarshalByValueObject类派生的数据(即对象)。