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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 那些人之一 中级黑马   /  2013-12-8 10:46  /  1341 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 那些人之一 于 2013-12-8 16:10 编辑

是死锁的代码,为什么看老师视频,同一样的代码,老师至少每次可以输出点东西,而我每次都没有,我代码有问题?详情看下面的代码和图
  1. // 死锁实例
  2. class Piao implements Runnable //extends Thread
  3. {
  4. private int num=100;
  5. Object obj=new Object();
  6. boolean flag=true;
  7. public void run()
  8. {
  9. if(flag)
  10. while (true)
  11. {
  12. synchronized(this)
  13. {
  14. show();
  15. }

  16. }
  17. else
  18. while (true)
  19. this.show();
  20. }
  21. public synchronized void show()
  22. {
  23. synchronized(obj)
  24. {
  25. if(num>0)
  26. {
  27. try
  28. {
  29. Thread.sleep(10);
  30. }
  31. catch (InterruptedException e)
  32. {
  33. System.out.println(Thread.currentThread().getName()
  34. +"----票数:"+num--);
  35. }

  36. }
  37. }
  38. }

  39. }
  40. class Deadlock
  41. {
  42. public static void main(String[] args)
  43. {
  44. Piao d =new Piao();
  45. Thread t1=new Thread(d);
  46. Thread t2=new Thread(d);
  47. t1.start();
  48. try
  49. {
  50. Thread.sleep(10);
  51. }
  52. catch (InterruptedException e)
  53. {
  54. }
  55. d.flag=false;
  56. t2.start();
  57. }
  58. }
复制代码

  1. <P><IMG border=0 alt="" src="http://bbs.itheima.com/forum.php?mod=image&aid=31802&size=300x300&key=ef51e7599b942e7d&nocache=yes&type=fixnone" aid="attachimg_31802"></P>
复制代码

360截图20131208104537875.jpg (44.03 KB, 下载次数: 9)

360截图20131208104537875.jpg

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 赞一个!

查看全部评分

2 个回复

倒序浏览
第34行打印代码要放到catch语句块外面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马