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

按毕老师视频里讲的内容自己敲的代码,一模一样的东西,编译能通过,但是就是不运行,崩溃了,高手给指点一下吧,在线等。
class Res
{
String name;
String sex;
}
class Input implements Runnable
{
private Res r;
Input(Res r)
{
  this.r=r;
}
public void run()
{
  int x=0;
  synchronized(r)
  {
   while (true)
   {
    if (x==0)
    {
     r.name="jack";
     r.sex="men";
    }
    else
     {
      r.name="丽丽";
      r.sex="女";
     }
   x=(x+1)%2;
   }
  }
}
}
class Output implements Runnable
{
private Res r;
Output(Res r)
{
  this.r=r;
}
public void run()
{
  while (true)
  {
   synchronized(r)
   {
    System.out.println(r.name+"....."+r.sex);
   }
  }
  
}
}
class ResDemo1
{
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();
  
}
}

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

5 个回复

倒序浏览
我刚才用eclipse编译是成功的,也可以运行,没明白楼主的不能运行,崩溃了是什么意思?你运行的时候报了什么异常?还是运行的时候没有结果?
回复 使用道具 举报
没有main 函数 怎么运行?
回复 使用道具 举报
weiwei10153 发表于 2015-4-8 10:49
我刚才用eclipse编译是成功的,也可以运行,没明白楼主的不能运行,崩溃了是什么意思?你运行的时候报了什么异 ...

就是运行的时候什么都不出来,刚看出来了,同步的时候不要把while同步进去就好了。多谢你
回复 使用道具 举报
lurenge 发表于 2015-4-8 10:58
没有main 函数 怎么运行?

有main函数的,已经好了,多同步了一行代码。
回复 使用道具 举报
程序的确是运行了的,但是没有输出,你看看输出的地方是不是错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马