黑马程序员技术交流社区

标题: 为何我这个循环跑不起来呢 [打印本页]

作者: iceknc    时间: 2015-9-19 19:45
标题: 为何我这个循环跑不起来呢
  1. class Res
  2. {
  3.         public String name;
  4.         public String sex;
  5. }

  6. class Input implements Runnable
  7. {
  8.         private Res r;
  9.         Input(Res r)
  10.         {
  11.                 this.r = r;
  12.         }

  13.         public void run()
  14.         {
  15.                 int x = 0;
  16.                 while(true)
  17.                 {
  18.                         synchronized(r)
  19.                         {
  20.                                 if (x == 0)
  21.                                 {
  22.                                         r.name = "mike";
  23.                                         r.sex = "man";
  24.                                 }
  25.                                 else
  26.                                 {
  27.                                         r.name = "林青霞";
  28.                                         r.sex = "女女女";
  29.                                 }
  30.                                 x = ++x % 2;
  31.                         }
  32.                 }
  33.         }
  34. }

  35. class Output implements Runnable
  36. {
  37.         private Res r;
  38.         Output(Res r)
  39.         {
  40.                 this.r = r;
  41.         }

  42.         public void run()
  43.         {
  44.                 synchronized(r)
  45.                 {
  46.                         System.out.println(r.name + "-------" + r.sex);
  47.                         }
  48.         }
  49. }

  50. class Test
  51. {
  52.         public static void main(String[] args)
  53.         {
  54.                 Res r = new Res();
  55.                 Input in = new Input(r);
  56.                 Output out = new Output(r);
  57.                 Thread t1 = new Thread(in);
  58.                 Thread t2 = new Thread(out);
  59.                 t1.start();
  60.                 t2.start();
  61.         }
  62. }
复制代码

1.png (4.58 KB, 下载次数: 1)

1.png

作者: iceknc    时间: 2015-9-19 20:24
找到问题了,输出打印的时候没有进入死循环,所以只打了一次




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