黑马程序员技术交流社区
标题:
技术 大神们能不能帮我看下我的代码 怎么跟老师不一样……
[打印本页]
作者:
ujump
时间:
2015-6-23 17:16
标题:
技术 大神们能不能帮我看下我的代码 怎么跟老师不一样……
这是一个多线程就是一个输出一个输入的问题
为什么不是一个交替一个出现的
为什么实现不了毕老师的功能
我晕
class res
{
String name;
String sex;
boolean flg=false;}
class input implements Runnable
{res s;
input(res s){this.s=s;}
public void run()
{int x=0;
while(true)
{synchronized(s)
{if(s.flg)
try{s.wait();}
catch(Exception e){}
if(x==0)
{s.name="mike";s.sex="man";}
else
{s.name="李丽丽里";s.sex="女女女女";}
x=(x+1)%2;
s.flg=false;s.notify();}
}
}
}
class output implements Runnable
{
res s;
output(res s){this.s=s;}
public void run()
{
while(true)
{synchronized(s)
{if(!s.flg)
try{s.wait();}catch(Exception e){}
System.out.println(s.name+"....."+s.sex);
s.flg=true;s.notify();
}
}}
}
class tx
{
public static void main(String[] args)
{
res s=new res();
input in=new input(s);
output out=new output(s);
Thread t1=new Thread(in);
Thread t2=new Thread(out);
t1.start();
t2.start();
}
}
复制代码
作者:
ujump
时间:
2015-6-23 17:18
有没有技术大牛 帮我读读 输出结果到底是什么
作者:
赵龙
时间:
2015-6-23 17:53
这个小程序是要实现什么样的功能呢?????????????
作者:
赵龙
时间:
2015-6-23 17:57
public class TestDemos
{
public static void main(String[] args)
{
res s=new res();
input in=new input(s);
output out=new output(s);
Thread t1=new Thread(in);
Thread t2=new Thread(out);
t1.start();
t2.start();
}
}
class res
{
String name;
String sex;
boolean flg=false;
}
class input implements Runnable
{
res s;
input(res s)
{
this.s=s;
}
public void run()
{
int x=0;
while(true)
{
synchronized(s)
{
if(s.flg)
try{
s.wait();
}
catch(Exception e){}
if(x==0)
{
s.name="mike";
s.sex="man";
}
else
{
s.name="李丽丽里";s.sex="女女女女";
}
x=(x+1)%2;
s.flg=true;
s.notify();
}
}
}
}
class output implements Runnable
{
res s;
output(res s){this.s=s;}
public void run()
{
while(true)
{
synchronized(s)
{
if(!s.flg)
try{s.wait();}catch(Exception e){}
System.out.println(s.name+"....."+s.sex);
s.flg=false;
s.notify();
}
}
}
}
复制代码
调好了,,就是判断标记没有写对
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2