1.进程有托管进程与非托管进程之分吗?
2.线程有托管线程与非托管线程之分吗?
3.一个托管线程能跨进程执行吗?
4.一个进程可以包含多个应用程序域吗?
5.多个线程可以在同一个应用程序域里执行吗?
6.为什么说进程是有生命期限的,我如果永远不关掉应用程序,难道它会自动终止吗?

解决方案 »

  1.   

    进程是系统进行资源分配和调度的单位。
    线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享一个进程的资源
      

  2.   

    由CLR启动的进程都是托管进程,托管进程启动的线程都是托管线程...其他所有的都是非托管...应用程序域就是进程边界,由运行库宿主创建...不能通过任何有意义的方式使用从一个进程传递到另一个进程的内存指针...不能在两个进程间直接调用...其他关于进程和线程的问题都是操作系统的基础知识...建议你去看一看操作系统基础之类的入门书...
      

  3.   

    翻了些资料总结如下,但是还有些不清楚:
    1.进程是操作系统为了能使应用程序能够并发运行,所以也没有托管进程这一概念之说;
    2.应用程序域是属于.NET的东东,它把操作系统的进程分为许多子进程,让托管代码能够运行.
    3.线程是后来产生的概念.因为进程有两属性:一是负责时空调度,二是分配系统资源。
      但是后来进程就只管分配系统资源这一部分,线程则负责时空调度。
      

  4.   

    在操作系统中,进程被定义为应用程序的运行实例,是应用程序的一次动态执行。线程是进程内部程序执行的路径,是进程的一个执行单元。从根本上说,线程是可由系统调度的一个最简单的代码单元,负责执行包含在进程的地址空间中的程序代码。   
              在.NET框架中,提出了应用程序域的概念。所有程序编译后生成的都是中间代码,而这些中间代码的隔离、加载和卸载以及安全边界的提供都是通过应用程序域来实现的。此时,一个进程可以包含一个或多个应用程序域,而一个应用程序域又可以包含一个或多个线程。这样实际上就相当于在进程和线程之间增加了一个新的安全边界。无论在同一个进程之内还是在不同的进程之间,每个应用程序域之间都是相互无关的,这些不同的应用程序域之间只能通过远程通讯来实现消息和对象的传递