进程和线程的比较:
进程是资源分配的最小单位,线程是程序执行的最小单位;
一个线程只能属于一个进程,但是一个进程可以拥有多个线程;
进程有自己的独立地址空间,而同一进程的线程共享本进程的地址空间;
线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,但是每个线程
拥有自己的栈段,而进程之间的通信需要以通信的方式进行。
多进程要比多线程健壮,一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一
个线程崩溃整个进程都死掉。两者均可并发执行。
对资源的管理和保护要求高,不限制开销和效率时,使用多进程。要求效率高,频繁切换时,
资源的保护管理要求不是很高时,使用多线程。
线程执行开销小,但是不利于资源的管理和保护。进程执行开销大,但是能够很好的进行资
源管理和保护。进程可以跨机器前移。
每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,
必须依存在应用程序中,由应用程序提供多个线程执行控制。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动, 线程是进程的一个
实体,一个线程可以创建和撤销另一个线程。
评论0