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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 浩临天下 中级黑马   /  2013-6-18 11:24  /  1739 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. 01.class Ticket implements Runnable

  2. 02.{

  3. 03.private static int tick = 100;

  4. 04.boolean flag = true;

  5. 05.public void run()

  6. 06.{

  7. 07.if(flag)

  8. 08.{

  9. 09.while(true)

  10. 10.{

  11. 11.synchronized(Ticket.class)

  12. 12.{

  13. 13.if(tick>0)

  14. 14.{

  15. 15.try{Thread.sleep(10);}catch(Exception e){}

  16. 16.System.out.println(Thread.currentThread().getName()+"....code : "+ tick--);

  17. 17.}

  18. 18.}

  19. 19.}

  20. 20.}

  21. 21.else

  22. 22.while(true)

  23. 23.show();

  24. 24.//show难道不是对象在调用吗?为什么是Ticket类在调用呢?

  25. 25.}

  26. 26.public static synchronized void show()

  27. 27.{

  28. 28.if(tick>0)

  29. 29.{

  30. 30.try{Thread.sleep(10);}catch(Exception e){}

  31. 31.System.out.println(Thread.currentThread().getName()+"....show.... : "+ tick--);

  32. 32.}

  33. 33.}

  34. 34.}

  35. 35.

  36. 36.

  37. 37.public class StaticMethodDemo

  38. 38.{

  39. 39.public static void main(String[] args)

  40. 40.{

  41. 41.

  42. 42.Ticket t = new Ticket();

  43. 43.Thread t1 = new Thread(t);

  44. 44.Thread t2 = new Thread(t);

  45. 45.t1.start();

  46. 46.try{Thread.sleep(10);}catch(Exception e){}

  47. 47.t.flag = false;

  48. 48.t2.start();

  49. 49.

  50. 50.

  51. 51.}

  52. 52.}
复制代码
show难道不是对象在调用吗?为什么是Ticket类在调用呢?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
不懂你什么意思? 你是指锁里的对象??  如果锁里的对象 静态方法里自动调用的就是 类名.class,和你在 run(); 里的锁是同一个锁....
回复 使用道具 举报
吕祥艺 发表于 2013-6-18 11:42
不懂你什么意思? 你是指锁里的对象??  如果锁里的对象 静态方法里自动调用的就是 类名.class,和你在 run(); ...

加油兄弟
回复 使用道具 举报
加油楼主   
回复 使用道具 举报
楼主您好,由于帖子长时间没有动态,我已经讲帖子改成已解决了,如有问题,可以私聊我。{:soso_e100:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马