当前位置 博文首页 > asrglx8740的博客:什么是死锁?死锁发生的四个必要条件是什么?

    asrglx8740的博客:什么是死锁?死锁发生的四个必要条件是什么?

    作者:[db:作者] 时间:2021-07-31 12:27

    什么是死锁?

      死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

      例如,在某个计算机系统中只有一台打印机和一台输入 设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2 所占用,而P2在未释放打印机之前,又提出请求使用正被P1占用着的输入设备。这样两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死锁状态。

    ?

    死锁产生的原因:

    1.系统资源的竞争

      当系统中供多个进程共享的资源如打印机、公用队列的等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。

    2.进程运行推进顺序不当引起死锁

      ●?进程推进顺序合法cs