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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© android0276 中级黑马   /  2014-7-6 20:23  /  689 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Test implements Runnable
  2. {
  3. private boolean flag;
  4. Test(boolean flag)
  5. {
  6. this.flag=flag;
  7. }
  8. public void run()
  9. {
  10. if(flag)
  11. {
  12. synchronized(new Mylock())
  13. {
  14.     System.out.println("if..locka");
  15. synchronized(new Mylock())
  16. {
  17. System.out.println("else..lockb");
  18. }
  19. }
  20. }
  21. else
  22. {
  23. synchronized(new Mylock())
  24. {
  25.     System.out.println("else..lockb");
  26. synchronized(new Mylock())
  27. {
  28. System.out.println("if..locka");
  29. }
  30. }
  31. }
  32. }
  33. }
  34. class Mylock
  35. {
  36. Mylock locka=new Mylock();
  37. Mylock lockb=new Mylock();
  38. }
复制代码


1.运行的时候提示
Mylock locka=new Mylock();
Mylock lockb=new Mylock();这里面有问题?
2.synchronized(对象)对象我放new Mylock() 难道不对吗?
3.我在Myclock里面用静态的时候 (对象)直接放Mylock.locka 就没事,为什么不能直接放locka
希望大侠把我这3个问题依次解决了 更多
0




0 个回复

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