`

死锁不会发生

 
阅读更多
public class DeadLock {  //不会发生死锁,只不过出来后还要进去

    public void startRun(int i)
    {
        synchronized(this){

            while( i > 10)
            {
                startRun(--i);
                System.out.println(i);
            }
        }
    }

    public static void main(String[] args)
    {
        DeadLock d = new DeadLock();
        d.startRun(12);
    }
}

 上面的程序不会发生死锁,因为至始至终只有一个主线程,它不会和别人争抢资源的。只不过这个程序是循环递归调用,即从下一层返回来之后,还要进去

分享到:
评论

相关推荐

    asp面试题133道

    29.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时...答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)

    仿真银行家算法对死锁的避免

    防止死锁的机构只能确保上述四个条件之一不出现,则系统就不会发生死锁。通过这个算法可以用来解决生活中的实际问题,如银行贷款等。 把银行家算法算法应用到操纵系统中对对临界资源的访问产生的死锁进行避免。假设...

    mysql innodb死锁问题详解.docx

    数据库也会发生死锁的现象,数据库系统实现了各种死锁检测和死锁超时机制来解除死锁,锁监视器进行死锁检测,MySQL的InnoDB处理死锁的方式是 将持有最少行级排它锁的事务进行回滚,相对比较简单的死锁回滚办法

    C#笔试题之同线程Lock语句递归不会死锁

    答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生) 当我看到这道题时,我心里只有两个答案,1、会发生死锁,2、不会。^...

    就餐哲学家:操作系统exp课程

    哲学家进餐 一,课程设计目的 掌握基本的同步与互斥算法,掌握进展并发执行的原理,及其所引起的同步,互斥问题的方法。 二,课程设计内容 自己编写的信号量和wait,signal操作的模拟程序,然后用其解决...不会发生死锁

    操作系统往年考研试题(计算机专业)

    3.某系统有三个并发进程,都需要同类资源4个,当系统中的最少资源数是( )个时系统不会发生死锁 。  A.9 B.11 C.10 D.12 4.分配到必要的资源并获得处理机时的进程状态时( )。 A.就绪状态 B. 阻塞状态 C....

    死锁算法的实验执行-研究论文

    当一组进程请求当前正被保留/分配给某些其他进程的相同资源时,就会发生死锁情况。 处于死锁状态的进程将等待大量时间,并且它们将永远不会终止其执行,并且该组进程所拥有的资源无法提供给任何其他可能有时会导致...

    MySQL死锁问题分析及解决方法实例详解

    MySQL死锁问题是很多程序员...不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高 页面锁:开销和加锁时间界于表锁和行锁之

    操作系统–死锁应对的有关问题(1)

     立即返回时,线程是不会发生死锁的。只有在阻塞式等待时,发生死锁现象。  死锁正式定义:  如果有一组线程,每个线程都是在等待一个事件的发生,而这个事件只能由该租线程里面的另一个线程发出,  我们...

    模拟实现资源分配 课程设计

    防止死锁的机构只须确保上述四个条件之一不出现,则系统就不会发生死锁。 在实习中假定系统中任一资源在每一时刻只能则由一个进程使用,任何进程不能抢占它进程正在使用的资源,当进程得不到资源时必须等待。因此...

    银行家算法

    防止死锁的机构只须确保上述四个条件之一不出现,则系统就不会发生死锁。 在实习中假定系统中任一资源在每一时刻只能则由一个进程使用,任何进程不能抢占它进程正在使用的资源,当进程得不到资源时必须等待。因此...

    银行家算法课设书及代码

    死锁的产生,必须同时满足四个条件,防止死锁只要确保四个条件之一不出现,则系统就不会发生死锁。通过这个算法可用解决生活中的实际问题,如银行贷款等.本文对如何使用银行家算法来处理操作系统给进程分配资源做了...

    操作系统设计

    在避免死锁方法中允许进程动态地申请资源,但系统进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。 对问题的理解和解决: 操作系统按照一定的规则为进程...

    论文研究-柔性制造系统Petri网模型中的两类特殊资源.pdf

    在一类S3PR网柔性制造系统Petri网模型N中,考察两类所处位置特殊的资源。这两类资源分别被定义为...结论说明,在柔性制造系统中可能存在一些同系统死锁的发生没有关系的资源。最后,简要介绍这两类特殊资源的应用前景。

    mysql面试题.docx

    不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3.页面锁:开销和加锁时间界于表锁和行锁之间;会出现...

    MySQL常见面试题与答案

    不会出现死锁; 锁定粒度大, 发生锁冲突的概率最高, 并发度最低。 2、行级锁: 开销大, 加锁慢; 会出现死锁; 锁定粒度最小, 发生锁冲突的概率最低, 并发度也最高。 3、页面锁: 开销和加锁时间界于表锁和...

    MySQL终级面试题,提升你的内力,给你面试助力

    不会出现死锁;锁定粒度大,发生锁冲突的概率最 高,并发度最低。 (2)行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最 低,并发度也最高。 (3)页面锁:开销和加锁时间界于表锁和行锁...

    操作系统大作业

    1、 已知某个系统中所有资源是相同的,试对下面引出的...答:a不会发生死锁因为进程数小于资源总数,b不会发生死锁因为一个进程在运行时另一个只能在等待,c、d会发生死锁因为可能存在一个进程需要多个资源才能完成。

    MySQL面试题50道

    不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3、页面锁:开销和加锁时间界于表锁和行锁之间;会...

Global site tag (gtag.js) - Google Analytics