进程:
一个程序对一个数据集的动态执行过程,是分配资源的基本单位。
线程:
一个进程内CPU独立运行和调度的基本单位。
一个程序至少有一个进程,进程是必要的一个单位,线程是执行任务的最小单位, 一个进程包含一个或者更多的线程.
进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。
例如:
对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。
线程是指进程中的一个执行流程,有时也称为执行情景。
一个进程可以由多个线程组成,即在一个进程中可以同时运行多个不同的线程,它们分别执行不同的任务。当进程内的多个线程同时运行时,这种运行方式称为并发运行。许多服务器程序,如数据库服务器和Web服务器,都支持并发运行,这些服务器能同时响应来自不同客户的请求。
进程和线程的主要区别在于:
每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可以共享同一块内存和系统资源,比如共享一个对象或者共享已经打开的一个文件。