首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ApplicationDomain和线程

ApplicationDomain和线程
EN

Stack Overflow用户
提问于 2012-03-31 17:07:03
回答 2查看 110关注 0票数 0

我最近开始研究线程。我想从一开始就开始阅读MSDN文档。阅读ApplicationDomain,它是独立于每个应用程序。但是在这个链接ApplicationDomain和线程中提到

可以在任何给定时间在单个应用程序域中执行多个线程,并且一个特定的线程不限于单个应用程序域。,即线程可以自由地跨越应用程序域边界

如果用户创建了一个线程,并且允许它跨应用程序域,那么它可以引用另一个应用程序域的对象或内存引用吗?如果我错了,请指点我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-06 15:56:53

在应用程序域和线程之间没有单一的关系。尽管线程可能跨越应用程序域边界,但在任何时候,该线程都在单个应用程序域中执行。

请参阅MSDN (http://msdn.microsoft.com/en-us/library/2bh4z9hs%28v=vs.90%29.aspx)中的以下信息:

在一个应用程序中运行的代码不能直接从另一个应用程序访问代码或资源。公共语言运行库通过阻止不同应用程序域中的对象之间的直接调用来强制这种隔离。在域之间传递的对象要么被复制,要么被代理访问。如果复制对象,则对对象的调用是本地的。也就是说,调用方和被引用的对象都在同一个应用程序域中。如果通过代理访问对象,则对对象的调用是远程的。在这种情况下,调用方和被引用的对象在不同的应用程序域中。跨域调用使用与两个进程之间或两台机器之间的调用相同的远程调用基础结构。

另外,下面这篇文章可能很有用:http://www.codeproject.com/Articles/26148/Beginners-Guide-to-Threading-in-NET-Part-1-of-n

票数 0
EN

Stack Overflow用户

发布于 2012-03-31 19:12:19

线程运行代码,它不能引用应用程序特定的类型或对象。

线程的大多数属性都是只读的,而且您将非常具体的属性(如CurrentCultre)不能用于传递自定义类型。

将数据与特定线程关联的唯一方法是使用线程 局部存储,它当然不会从应用程序域传递到另一个应用程序域,并且只在非常特定的情况下有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9957934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档