进程与线程
进程的五种状态?
运行,就绪,阻塞,创建,终止
进程与线程的区别?
进程:系统资源分配的基本单位。
线程:轻量级进程,程序执行的基本单位。
进程不能互相通信,共享,但是线程可以。
进程间通信方式?
1.共享存储:由于各进程之间不能直接通信,可以设置一个共享空间,进程间互斥访问。
2.管道通信:在读写进程之间可以设置一个缓冲区,各进程互斥访问。
3.消息传递:发送消息的进程将消息头写好,接收消息的进程根据消息头去找哪个进程。
进程同步?
多道程序环境下,进程是并发进行的,不同进程之间存在不同的制约关系,为了解决这一问题,引入了进程同步。目的就是为了解决进程异步性问题。
什么是死锁?
多个进程互相等待对方手里的资源,造成了各进程阻塞。
产生死锁的原因?
1.互斥条件:对互斥使用的资源的抢夺才会导致死锁。
2.不可剥夺条件:进程保持的资源只能主动释放。
3.请求和保持条件:保持某些资源的同时,请求别的资源。
4.循环等待条件:存在一种资源的循环等待。
什么时候发生死锁?
对不可剥夺资源的不合理分配
死锁的处理?
1.预防死锁:破坏死锁的条件。
2.避免死锁:使用某种方法使得各进程处于安全状态。