2019-05-08 22:00:55
一、定义
进程:是操作系统资源分配的基本单位。
线程:是进程的一个执行单元,线程也被称为轻量级进程。
一个程序至少一个进程,一个进程至少一个线程。
二、区别
- 地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
- 一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
- 进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程
- 执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
三、通信方式
进程:共享内存,管道
线程:全局变量,自定义的消息机制