1、进程和线程以及它们的区别:
进程是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发
线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发
一个程序至少有一个进程,一个进程至少有一个线程,线程依赖于进程而存在
进程在执行过程中拥有独立得到内存单元,多个线程共享进程的内存
2、进程间的通信方式
管道及命名管道:具有亲缘关系的父子进程间的通信
信号:信号是一种比较复杂的通信方式,用于通知接受进程某个事件已经发生
消息队列:,消息的链表。克服了上面的信号量有限的缺点,具有写权限的进程可以按照一定规则向消息队列中添加新信息,对消息队列有读权限的进程可以重消息队列中读取信息
共享内存:最有用,多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新
信号量:主要作为进程之间及同一进程的不同线程之间的同步和互斥手段
套接字:这是一种更为一般的进程间通信机制,可用于网络中不同机器之间的进程间通信
3、进程的异步性
进程以不可预知的速度向前推进,在多道批处理系统,进程是并发执行的,不同进程之间存在着不同的相互制约关系,内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,程序总共需要多少事件才能完成,都是不可预知的。
4、进程的同步性
同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。
网友评论