多线程死锁发生情景之一:同步的嵌套
Posted 晴空半岛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程死锁发生情景之一:同步的嵌套相关的知识,希望对你有一定的参考价值。
/* 死锁:常见情景之一:同步的嵌套。 */ class Ticket implements Runnable { private int num = 100; Object obj = new Object(); boolean flag = true; public void run() { if(flag) { while(true) { synchronized(obj) { show(); } } } else { while(true) { this.show(); } } } public synchronized void show() { synchronized(obj) { if(num>0) { try{Thread.sleep(10);}catch (InterruptedException e){} System.out.println(Thread.currentThread().getName()+".....sale...."+num--); } } } } class DeadLockDemo {
public static void main(String[] args) { Ticket t = new Ticket(); Thread t1 = new Thread(t); Thread t2 = new Thread(t); t1.start(); try{Thread.sleep(10);}catch(InterruptedException e){} t.flag = false; t2.start(); } }
以上是关于多线程死锁发生情景之一:同步的嵌套的主要内容,如果未能解决你的问题,请参考以下文章