C#与.NET程序员面试宝典 2.2.8 面试题15:.NET的应用程序域是什么

应用程序域是.NET框架中的基本概念,程序员常用于减少运行应用程序的系统开销。读者需要掌握并清楚地理解其基本概念。

 

【出现频率】★★★★

 

【关键考点】

应用程序域(AppDomain)

数据访问

 

【考题分析】

应用程序域(AppDomain)用于减少运行应用程序的系统开销,是.NET中的一个重要技术改进。有些应用程序需要与其他程序分离开来,但同时还需要彼此通信,这时需要用到应用程序域。应用程序域可以做到分离组件,它不会导致因在进程之间传送数据而产生性能问题。主要的操作方法是将任何一个进程分解到多个应用程序域中,而每一个应用程序域均对应一个应用程序,执行的每个线程都运行在一个具体的应用程序域中。

 

倘若不同的可执行文件都运行在同一个进程空间中,因理论上应用程序需要与其他程序可以直接访问彼此的数据,所以它们之间能够轻松地共享数据。虽然在理论上这是可以实现的,但是CLR依然会检查每个正在运行的应用程序的代码,以确保这些代码不偏离它自己的数据区域,并且保证不发生直接访问其他进程的数据的情况。

 

注意:在一个操作系统的进程中运行一个或多个应用程序域。应用程序域的创建和销毁所需的开销,相对于操作系统进程较小。但和操作系统进程一样,应用程序域之间的数据共享相当困难。

 

【答案】

应用程序域(AppDomain)是CLR中提供代码运行范围、错误隔离和安全隔离的逻辑单元,功能类似于操作系统的进程。

posted @ 2010-10-20 10:19  面试宝典  阅读(747)  评论(0编辑  收藏  举报