.NET 中进程、线程、应用程序域、对象上下文总结
2017-04-20 00:00
323 查看
进程、应用程序域、对象上下文属于存储(内存)概念:
进程:一个应用程序在内存中的物理存在,他是这个应用程序所需的各种资源的集合。
应用程序域:.NET 中将进程进一步进行逻辑划分成各种应用程序域已进行逻辑隔离,应用程序实际上是运行在某个应用程序域上的,好处是如果某个 应用程序域的 APP 挂掉,其他的不会应受到影响。
对象上下文:在应用程序域中进行进一步的分层,在这里承载各种对象实体,一般情况下对象被分配到默认对象上下文中,所属应用程序域中的任何地方都可以访问该对象。如果对象有特殊需求,可以将对象分配到单独的对象上下文中(继承 contextboundobject类型),如果需要同步访问该对象,可以在类型定义时添加【Synchronization】特性,以表示当前对象被放到同步上下文中,需要线程同步访问,从而实现资源共享。
线程:CPU 调度、运行单元,每个时刻,都只有一个线程在访问资源,他可能在访问进程的任何区域,如果给某个共享资源赋值到一半, CPU 将这个线程挂起,加载另一个线程进来也去对这个共享资源进行赋值,就会出现并发问题。
进程:一个应用程序在内存中的物理存在,他是这个应用程序所需的各种资源的集合。
应用程序域:.NET 中将进程进一步进行逻辑划分成各种应用程序域已进行逻辑隔离,应用程序实际上是运行在某个应用程序域上的,好处是如果某个 应用程序域的 APP 挂掉,其他的不会应受到影响。
对象上下文:在应用程序域中进行进一步的分层,在这里承载各种对象实体,一般情况下对象被分配到默认对象上下文中,所属应用程序域中的任何地方都可以访问该对象。如果对象有特殊需求,可以将对象分配到单独的对象上下文中(继承 contextboundobject类型),如果需要同步访问该对象,可以在类型定义时添加【Synchronization】特性,以表示当前对象被放到同步上下文中,需要线程同步访问,从而实现资源共享。
线程:CPU 调度、运行单元,每个时刻,都只有一个线程在访问资源,他可能在访问进程的任何区域,如果给某个共享资源赋值到一半, CPU 将这个线程挂起,加载另一个线程进来也去对这个共享资源进行赋值,就会出现并发问题。
相关文章推荐
- C#2008与.NET 3.5 高级程序设计读书笔记(17)-- 进程、应用程序域和对象上下文
- 细说进程、应用程序域与上下文之间的关系(四)——进程应用程序域与线程的关系
- 7-进程(Process)、应用程序域(AppDomain)、.NET上下文
- 进程、应用程序域、程序集、对象上下文
- 进程、应用程序域、程序集、对象上下文区别与联系
- 进程和线程及应用程序域,上下文
- 进程、应用程序域、对象上下文
- 进程、应用程序域和对象上下文
- 进程、应用程序域、程序集、对象上下文
- 细说进程、应用程序域与上下文之间的关系(三)—— 深入了解.NET上下文 推荐
- 第16章 进程、应用程序域和对象上下文
- 进程、线程、应用程序域、上下文之间的关系
- 进程、应用程序域、上下文及线程之间的关系
- 进程、应用程序域、程序集、对象上下文
- 进程和线程及应用程序域,上下文
- C#:进程、线程、应用程序域(AppDomain)与上下文分析
- 进程、应用程序域、程序集、对象上下文(转载)
- .Net托管世界的应用程序域和线程(转载)
- .NET专题-01描述线程与进程的区别
- 对进程、线程和应用程序域的理解