首页 > 试题广场 >

以下关于进程死锁的表述,错误的是( )

[单选题]
以下关于进程死锁的表述,错误的是( )
  • 如果每个进程只能同时申请或拥有1个资源,则死锁就不会发生
  • 如果所有资源多个进程可以无冲突共享访问,则死锁就不会发生
  • 如果所有进程的执行严格区分优先级,则死锁就不会发生
  • 如果进程资源请求之间不存在循环等待,则死锁就不会发生
推荐
C进程调度取决于操作系统,执行先后可能***作系统改变,如window存在一个优先级推动器,如果某优先级高的进程执行次数过多,会被越过将资源分配给其他进程。
  • 互斥条件:指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其他进程请求资源,则只能等待,直至占有资源的进程用毕释放。简而言之,即资源不能共享,只能由一个资源使用。
  • 请求与保持条件:指进程已经至少保持一个资源,但又提出来对新的资源的请求,而该资源已经被其它进程占用,此时请求进程阻塞,但又对自己已获得的资源保持不放。-----A正确。
  • 非剥夺条件:指进程已经获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己来释放。--------B正确
  • 循环等待条件:指发生进程死锁时,必然存在一个由进程组成的资源环形链。系统中的若干进程组成环路,该环路中的每个进程都在等待相邻的进程正占用的资源。-----D正确
编辑于 2019-11-08 14:32:11 回复(0)
C 同等优先级申请统一资源
发表于 2019-11-15 17:44:58 回复(1)
A
举个例子:
假设系统中拥有两个进程P1和P2,它们都准备写两个文件F1和F2。而这两者都属于可重用和不可抢占性资源。如果进程P1在打开F1的同时,P2进程打开F2文件,当P1想打开F2时由于F2已结被占用而阻塞,当P2想打开1时由于F1已结被占用而阻塞,此时就会无线等待下去,形成死锁。
因此在A描述的情形中仍然有可能发生死锁。
发表于 2019-11-07 15:13:12 回复(3)
A正确吗?请大佬帮忙。我的观点是A不正确,死锁还有一种情况就是振荡,也就是哲学家吃饭问题,所有线程同时拿锁,同时释放,永远这样同步,这样不也是死锁呢。
发表于 2020-08-11 10:11:35 回复(1)
感觉A没有考虑环路等待的问题,然后C错误 :有可能相同优先级的进程申请了同一个资源造成死锁
发表于 2020-06-17 09:13:52 回复(0)