黑马程序员技术交流社区

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

作者: fmi110    时间: 2015-10-5 23:11
标题: 多线程 死锁
a
  1. package demo;

  2. public class DeadLockDemo {

  3.         public static void main(String[] args) {
  4.                 final M m = new M();
  5.                 new Thread(){
  6.                         public void run() {
  7.                                 while (true)
  8.                                         m.run();
  9.                         };
  10.                 }.start();
  11.                 new Thread() {
  12.                         public void run() {
  13.                                 while (true)
  14.                                         m.go();
  15.                         };
  16.                 }.start();

  17.         }

  18. }
  19. class M {
  20.         Object lock1 = new Object();
  21.         Object lock2 = new Object();
  22.         public void run(){
  23.                 synchronized(lock1){  //嵌套锁
  24.                         System.out.println("lock1 run()"+Thread.currentThread().getName());
  25.                         synchronized(lock2){
  26.                                 System.out.println("lock2 run()"+Thread.currentThread().getName());
  27.                         }
  28.                 }
  29.         }
  30.         public void go(){
  31.                 synchronized(lock2){
  32.                         System.out.println("go run()"+Thread.currentThread().getName());
  33.                         synchronized(lock1){
  34.                                 System.out.println("go run()"+Thread.currentThread().getName());
  35.                         }
  36.                 }
  37.         }
  38. }
复制代码
  1. lock1 run()Thread-0
  2. lock2 run()Thread-0
  3. lock1 run()Thread-0
  4. lock2 run()Thread-0
  5. lock1 run()Thread-0
  6. go run()Thread-1
复制代码




作者: Rzzz    时间: 2015-10-6 01:05
正在学习这块   过来瞄一眼!
作者: 秦时明月汉时关    时间: 2015-10-6 09:40
哈哈哈哈哈哈哈哈哈
作者: Synaric    时间: 2015-10-6 09:41
不错不错,很直观
作者: 拂袖叙五代    时间: 2015-10-6 09:54
写的不错啊




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