A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵太云 中级黑马   /  2013-7-15 19:04  /  927 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 赵太云 于 2013-7-16 20:30 编辑

     以下是一个死锁的程序。
    在实际开发,在哪种情况下可能会遇到死锁的问题呢????
  1. public class Test{
  2.         public static void main(String[] args){
  3.                 new Thread(new ThreadTest1()).start();
  4.                 new Thread(new ThreadTest2()).start();
  5.         }
  6. }

  7. class Lock{
  8.         public static Object lock1 = new Object();
  9.         public static Object lock2 = new Object();
  10. }

  11. class ThreadTest1 implements Runnable{
  12.         public void run(){
  13.                 while (true){
  14.                         synchronized(Lock.lock1){
  15.                                 synchronized(Lock.lock2){
  16.                                         System.out.println("这个能输出?  threadTest1");
  17.                                 }
  18.                         }
  19.                 }
  20.         }
  21. }

  22. class ThreadTest2 implements Runnable{
  23.         public void run(){
  24.                 while (true){
  25.                         synchronized(Lock.lock2){
  26.                                 synchronized(Lock.lock1){
  27.                                         System.out.println("这个能输出?  threadTest2");
  28.                                 }
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 淡定

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马