rt

解决方案 »

  1.   

    进程:运行一个exe程序,就是一个进程。不同的进程有不同的虚拟内存空间。一个进程可以创建不同的线程,线程共用进程的虚拟内存空间,共享进程分配的所有系统资源。每个线程有自己独立的栈。
      

  2.   

    进程是运行中的程序。一个进程可以有多线程,线程是CPU进行调度的最小单位。
      

  3.   

    一下节选自<<理解Windows 2000 和 NT4 系统及进程活动 >>
    进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了一个用来容纳组成Notepad.exe的代码及其所需调用动态链接库的进程。NT中的每个进程均运行在其专用且受保护的地址空间内。因此,如果你同时运行记事本的两个拷贝,该程序正在使用的数据在各自实例中是彼此独立的。在记事本的一个拷贝中将无法看到该程序的第二个实例打开的数据。我这里以沙箱为例进行阐述。 
    一个进程就好比一个沙箱。线程就如同沙箱中的孩子们。孩子们在沙箱子中跑来跑去,并且可能将沙子攘到别的孩子眼中,他们会互相踢打或撕咬。但是,这些沙箱略有不同之处就在于每个沙箱完全由墙壁和顶棚封闭起来,无论箱中的孩子如何狠命地攘沙,他们也不会影响到其它沙箱中的其他孩子。因此,每个进程就象一个被保护起来的沙箱。未经许可,无人可以进出。这就是NT中强大的内存保护模型的形成机制,正是由于这种机理,才使NT明显区别于Windows 3.1、Windows 95及Windows 98。 
    在Windows NT和Windows 2000中,程序、程序实例或者进程对其它进程的执行情况或内存空间施加影响是不可能的。两个进程彼此获得专用数据或内存的唯一途径就是通过协议来共享内存块。这是一种协作策略。 
    NT运行线程。换言之,线程运行而进程不运行。每个进程包含单一线程,因此,当你运行记事本时,就生成相应的进程沙箱用来容纳代码和数据,而一个线程则被创建用以在指向记事本程序的主要入口起点处开始执行过程。一旦该线程在运行,它就可以创建额外的线程,一个进程的多个线程并行进行调度,这使多线程编程非常复杂,每个线程均共享其所处进程中的专用内存空间。因此,在本张幻灯片的阐述中,进程中所示的三个线程(都具有同时运行的潜在能力)均对进程中的专用数据或地址空间享有同等的访问权限,这样一来,三个线程就必须彼此同步。
      

  4.   

    最根本的区别在于:
    进程(Process)控制了各种所有权,掌握了一个程序运行时所能够使用的资源,
    比如:虚拟地址空间(memory context),比如程序使用到的句柄表(handle table),程序加载的各种模块(比如DLL)的列表(module list),以及程序使用到的堆(heap)等等。
    线程(Thread)用于程序的执行,它才真正代表了程序的执行,而且线程一定运行在进程拥有的虚拟地址空间中,使用进程的句柄表来访问各个系统对象(比如窗口,文件,各种线程同步对象,以及其他的进程和线程,管道(pipe),邮件槽(mailslot)等等),同时线程还将使用进程拥有的其他资源。同时对于每一个线程,还拥有一个独立的堆栈(stack)。
    总之,简单的一句话:进程用于给程序的运行提供一个环境,而线程则利用这个环境来完成具体的运行,windows在进行调度操作时,操作的对象也是线程而不是进程,因为执行体是线程而不是进程。
      

  5.   

    Windows 9X/NT是抢先式的多任务操作系统,程序对CPU的占用时间由系统决定。多任务指的是系统可以同时运行多个进程,每个进程又可以同时执行多个线程。进程是应用程序的运行实例,拥有自己的地址空间。每个进程拥有一个主线程, 同时还可以建立其他的线程。线程是操作系统分配CPU时间的基本实体,每个线程占用的CPU时间由系统分配,系统不停的在线程之间切换。进程中的线程共享进程的虚拟地址空间,可以访问进程的资源,处于并行执行状态。
      

  6.   

    在《WINDOWS核心编程》中说得很清楚,你可以看看。
      

  7.   

    进程是装入内存中正在执行的应用程序,进程包括私有的虚拟地址空间、代
    码、数据及其它操作系统资源,如文件、管道以及对该进程可见的同步对象
    等。进程包括了一个或多个在进程上下文内运行的线程。线程是操作系统分配CPU 时间的基本实体。线程可以执行应用程序代码的任何部分,包括当前正在被其它线程执行的那些。同一进程的所有线程共享同样的虚拟地址空间、全局变量和操作系统资源。
      

  8.   

    windows下进程好比工厂,线程好比工人,工厂里没有工人的话是没法工作的,所以至少要有一个(这不是全自动的工厂,^_^);
    工厂包括了资源,但要有工人来完成具体的工作
      

  9.   

    进程:运行一个exe程序,就是一个进程,不同的进程有不同的虚拟内存空间。一个进程可以创建不同的线程,线程共用进程的虚拟内存空间,共享进程分配的所有系统资源。每个线程有自己独立的栈。进程是所有权的集合 而线程却是一个实在的执行单位