关闭

notify();wait();notifyALL();

225人阅读 评论(0) 收藏 举报
分类:

class Res
{
 String name;
 String sex;
 boolean flag = false;

}

class Input implements Runnable
{
 private Res r;

 Input(Res r)
 {
  this.r = r;
 }
 public void run()
 
  int x = 0;
  while(true)
  {
   
   synchronized (r)
   {
    if(r.flag)
     try
     {
      r.wait();
     }
     catch (Exception e)
     {
     }
    if (x == 0)
    {
     r.name="mike";
     r.sex= "man";
    }
    else
    {
     r.name="丽丽";
     r.sex= "女女女";
    }
    x = (x+1)%2;
    r.flag = true;
    r.notify();
   }
  }
 }
}

class Output implements Runnable
{
 private Res r;

 Output(Res r)
 {
  this.r = r;
 }
 public void run()
 {
  while(true)
  {
   synchronized (r)
   {
    if(!r.flag)
     try
     {
      r.wait();
     }
     catch (Exception e)
     {
     }
    System.out.println(r.name+"..."+r.sex);
    r.flag = false;
    r.notify();
   }
   
  }
 }
}

class  InputOutputDemo
{
 public static void main(String[] args)
 {
  Res r = new Res();

  Input in = new Input(r);
  Output out = new Output(r);

  Thread t1 = new Thread(in);
  Thread t2 = new Thread(out);

  t1.start();
  t2.start();
 }
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5209次
    • 积分:140
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章分类