简答题

假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。

正确答案

在最坏情况下,三个进程各占用一个资源,并同时请求第二个资源。由于系统中还有一个未用的资源,所以三个进程中的一个可以被满足。另外两个进程在这个进程结束以后可以获取需要的资源,然后继续执行。因此,不会出现死锁。

答案解析

相似试题
  • 有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。

    简答题查看答案

  • 系统有同类资源m个,被n个进程共享,问:当m>n和m≤n时,每个进程最多可以请求多少个这类资源时,使系统一定不会发生死锁?

    简答题查看答案

  • 若信号量S的初值为2,且有三个进程共享此信号量,则S的取值范围是()。 

    单选题查看答案

  • 试从调度、并发性、拥有资源和系统开销四个方面对传统进程和线程进行比较。

    简答题查看答案

  • 若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许()个进程参于竞争,而不会发生死锁。

    单选题查看答案

  • 若系统有三个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是()。

    单选题查看答案

  • 考虑由n个进程共享的具有m个同类资源的系统,证明:如果对i=1,2,…,n,有Need>0而且所有最大需求量之和小于m+n,那么该系统是死锁无关的。

    简答题查看答案

  • 一般来说,在多个并发线程正在执行的时候,如果有一个新的请求到来,Servlet容器将构造Servlet的一个实例,为每个用户请求建立一个新进程,这意味着,多个线程可能同时访问一些共享数据。如果要阻止这种多线程的访问,可以使Servlet实现哪个接口?()

    单选题查看答案

  • 在一个系统中,若进程之间除了信号量之外不能共享任何变量,进程之间能互相通信吗?

    简答题查看答案