rt

解决方案 »

  1.   

    所谓进程,本身不能执行,它只是一个资源的集合体,拥有地址空间,模块,内存,... 
    线程是真正的执行单元,一个进程如果没有线程,那么就没有存在的意义,因为不可能执行。 你去找本操作系统方面的书好好看看,推荐一本《Modern Operating Systems 》,中文版是《现代操作系统》(荷)【安德鲁】
      

  2.   

    线程是cpu调度的基本单位
    进程是资源分配的基本单位
      

  3.   

    简单点说:一个程序分为多个进程,并为每个进程分配资源(如内存、CPU等)。一个进程可分为多个或一个线程,此时的进程作为资源的分配单位,而线程作为CPU的调度单位。这些线程将会共享这个进程里面的资源,不会单独的分配资源。当然,有资源共享就会涉及到互斥访问和线程同步,有线程同步就会有死锁等问题。可以认为线程是进程的轻量级的一种方式,因为进程之间切换时要释放和获取资源而线程不用(因为这些资源属于所在进程)。
      

  4.   

    看了一下,我说说我的理解。
    进程与线程其实都是执行单元,但是线程从属于进程。
    每个进程都有自己独立的资源,也就是说他对系统的资源一般都是独占的,例如内存块,磁盘块,端口,接口等等,当一个进程占用这些资源以后,其它进程一般不太好占用这些资源了。而线程是没有自己独立资源的,他从属于一个进程,并且与从属于这个进程中的其它线程共享这个进程的资源。进程与线程的区别其实就是是否拥有独立资源的执行单元。
    其实以上说法通常是在windows操作系统下的概念,因为在一些UNIX系统中是没有线程概念的,在windows中通常一个程序就是一个进程,单程序单进程,并行概念由线程完成。但是在UNIX系统下,程序是由多个进程组成的,在这种操作系统下,每个进程都有自己的独占资源,但是同时又能够将其共享出去,并行完成任务。
    以上是一种操作系统级别的进程与线程的概念,但是在java中,统一使用了第一种概念,这种概念被虚拟机自身实现,即使是在UNIX系列操作系统中,java也表现出这种进程与线程概念,虽然JVM的底层实现可能不同,但是表现出来的形式是一样的。
      

  5.   

    不知道自己的理解对不对,说出来大家看看,如有错误请指正:

    你用Office Word打开了两个文档,那么系统就创建了两个“进程”
    你在一个文档中使用搜索替换功能,那个进程很可能开了一个“线程”来进行处理
      

  6.   

    最通俗的理解:
    qq你用过吧。。
    整个qq运行起来就相当于一个进程
    你用qq去跟别人聊天的时候,每打开一个聊天窗口就是一个线程
      

  7.   

    进程具有自己的内存空间,而线程共享所在进程的内存空间。线程具有独立的cpu执行时间片段。