C#中的process/AppDomain/Object Context
来源:互联网 发布:快剪用什么软件好 编辑:程序博客网 时间:2024/05/29 14:28
1 System.Diagnostics namespace下的Process相关的类
Process - 提供远程和本地process的入口,并支持开启/关闭process
ProcessModule - 表示一个已经加载到process的module(exe或者dll),支持任何com based/.net/传统c的文件
ProcessModuleCollection - 强类型的processModule的collection
ProcessStartInfo - 提供用于process.start的参数
ProcessThread - 进程中的一个线程,只是返回已有线程而不会新建线程
ProcessThreadCollection 强类型processThread的collection
2 AppDomain
一个Process对应多个AppDomain,一个AppDomain对应一个可执行程序。
AppDomain的优点
1 是中间层概念,所以加强了系统平台独立性
2 AppDomain相对与Process,是轻量级的。使CLR容易加载和卸载
3 AppDomain之间是完全独立的,一个Process中,如果一个AppDomain失败,不影响其他的AppDomain
3 创建AppDomain
创建新的AppDomain后,只有mscorlib.dll会被加载进该Domain。 如
public class ConsoleApplication1
{
public static void main(string[] args)
{
AppDomain ad = AppDomain.CreateDomain("ConsoleApplication2");
ad.Load("ClassLibrary1")
}
}
上例中process ConsoleApplication1会有2个AppDomain,一个是Default, 包含mscorlib.dll,system.windows.form.dll,consoleapplication1.exe等,另一个为ConsoleApplication2 ,则只有mscorlib.dll和classlibrary1.dll
3 属性[Synchronization]和类ContextBoundObject
process中有多个appdomain
appdomain中有多个context.
一般对象实例话的时候,如果调用Thread.CurrentContext.ContextId,得到返回值为0,即默认context.
但是如果使用了[synchronization]和contextboundobject,则对象实例话后,得到返回值为一个唯一值,如1,2递增。
如果使用了synchronization和contextboundobject声明的对象,表明该类是线程安全的,不支持垃圾回收。
- C#中的process/AppDomain/Object Context
- C#中的AppDomain(1)
- C#中的AppDomain(2)
- appDomain and Context
- C# AppDomain.CurrentDomain.BaseDirectory
- C# AppDomain.CurrentDomain.BaseDirectory
- C# AppDomain 详解
- C#中的Process类使用
- C#中的Process类使用
- C#中的Process类使用
- c#中的Object类型
- c#中的Object类型
- C#中的Object 类
- c#中的object类
- Process Context and Interrupt Context
- C# AppDomain.CurrentDomain.BaseDirectory是什么
- C# AppDomain.CurrentDomain.BaseDirectory是什么
- C# 中的 System.Object(object)
- DirectShow SDK
- linux 2.6源代码情景分析笔记之进程9
- URL概述
- 必将改变Web的五大技术
- 神奇的软文
- C#中的process/AppDomain/Object Context
- 做事讲究目的,成功讲求方法
- Twitter的网页代码
- hibernate优缺点
- HashMap和Hashtable的区别?
- 乔致庸毕生的三大项目之一:包头高粱霸盘
- 国产android新机开用5件事
- 如何写有效率的SQL查询
- linux下使用蓝牙设备