黑马程序员技术交流社区

标题: 线程死锁练习 [打印本页]

作者: xlunaer    时间: 2015-4-15 22:04
标题: 线程死锁练习


  1. class Lock implements Runnable {
  2.         private static int x = 1000;
  3.         boolean flag ;
  4.         public Lock(boolean flag) {
  5.                 this.flag = flag;
  6.         }
  7.        
  8.         static Object o1 = new Object();
  9.         static Object o2 = new Object();
  10.        
  11.          
  12.         public void run() {
  13.                 while(true) {
  14.                        
  15.                         if(flag) {
  16.                                 synchronized(o1) {
  17.                                         synchronized(o2){
  18.                                                 System.out.println(flag + "***************" + x--);
  19.                                         }
  20.                                 }
  21.                         } else{
  22.                                 synchronized(o2) {
  23.                                         synchronized(o1) {
  24.                                                 System.out.println(flag + "&&&&&&&&&&&&&&&" + x--);
  25.                                         }
  26.                                 }
  27.                         }
  28.                 }
  29.         }
  30. }

  31. public class DeathLock {

  32.         public static void main(String[] args) {
  33.                 // TODO Auto-generated method stub

  34.                
  35.                 Thread t1 = new Thread(new Lock(true));
  36.                 Thread t2 = new Thread(new Lock(false));
  37.                 t1.start();
  38.                 t2.start();
  39.         }

  40. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2