进程和线程的区别
进程是操作系统资源分配的基本单位,线程是任务调度和执行的基本单位
线程是进程中的一部分,一个进程可以包含多个线程
每个进程都有独立的代码和数据空间,同一进程的所有线程共享数据
进程之间的切换开销较大,线程之间的切换开销较小
进程间的通信机制很复杂,线程间的通讯机制很简单
一个进程崩溃不能影响其他进程,一个线程崩溃整个进程都崩溃了
进程的几种状态
1.创建状态:进程被创建
2.就绪状态:进程获得除了CPU以外的所有资源
3.运行状态:进程在CPU上运行
4.阻塞状态:进程被某些原因阻塞
5.结束状态:进程从系统中消失,分为正常消失和异常退出
进程通讯机制
1.共享内存:基于数据结构/存储区共享
2.消息传递:直接把消息挂到接受进程的消息队列或者挂到某个中间实体,接收进程找实体接受消息
3.管道通信:利用管道文件连接两个进程
线程通讯机制
1.共享内存
2.消息传递