探讨线程与进程的区别进程和线程是操作系统的基本概念,但是它们比较抽象,不容易掌握。关于多进程和多线程,教科书上最经典的一句话是进程是资源分配的最小单位,线程是CPU调度的最小单位,线程是程序中一个单一的顺序控制流程,进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位,在单个程序中同时运行多个线程完成不同的工作,称为多线程。
所有与该进程有关的资源,都被记录在进程控制块PCB中。以表示该进程拥有这些资源或正在使用它们。另外,进程也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。与进程相对应,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。
1、进程和线程的区别是什么进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。因此进程和线程的主要区别在于它们是不同的操作系统资源管理方式。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。
2、进程和线程与程序有何区别和联系程序是计算机指令的集合它,以文件的形式存储在磁盘上。进程是一个程序在其自身的地址空间中的一次执行活动。进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源,而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占系统的运行资源。线程:进程中的一个单一的连续控制流程。一个进程可以拥有多个线程。
3、线程和进程的区别简单的说,你每启动一个程序,就启动了一个进程。在Windows3.x下,进程是最小运行单位。在Windows95/NT下,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows95/NT下,线程是最小单位。WINDOWS的多任务特性使得线程之间独立运行,但是它们彼此共享虚拟空间,也就是共用变量,线程有可能会同时操作一片内存。
还没多核处理器的时候,人么想办法把一个单核处理器设计成两个或者几个线程来处理数据,你在任务管理器会看到两个或者多个CPU在运行。进程可以这么理解,某个软件运行的时候需要在内存载入运行其几个部分,每个都是进程,而一个进程会条用多个系统或者其本身的文件,比如一个进程需要多个.dll才能运行,丢失某个文件就不会出现这个进程或者,出现错误。