为什么要使用线程?

在多CPU和多核时代,使用线程能够充分利用硬件资源,提升软件的运行效率。但是没有章法的乱用线程会适得其反。

1:线程和进程关系?

一个程序运行,通常在任务管理器中看到一个进程。这个进程占用多少资源,并不是由进程本身决定。而是由这个进程分配的线程

决定。也就是说操作系统是通过线程来管理程序资源的。

2:什么是应用程序域?

一个应用程序对应一个进程,每个进程会映射对应的物理内存,从而隔离程序。
特殊情况:在一个进程中,我们通常会调用另一个应用程序,比如在VS中,对应devenv进程,创建一个记事本进程。
如果单独开一个进程,性能开销是比较大的。
为了解决这个问题,.NET中引入应用程序域(AppDomain),并且将它设置在进程和线程之间。

每个进程至少包括一个应用程序域,在托管代码运行时,CLR还会额外的创建《系统域》和《共享域》,存放应用程序需要的资源

这样的话,就能够减少进程的总数,提高系统性能,减轻进度调度的压力。应用程序域可以看成是程序集的“容器”。

应用程序域可以被主动创建,也可以被卸载。并且很快被GC回收。

你可能感兴趣的:(开发语言,自动化)