A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区
传智教育官网黑马程序员官网
只需一步,快速开始
夏立元
初级黑马
黑马币:
帖子:
精华:
© 夏立元 初级黑马 / 2012-6-6 18:09 / 1309 人查看 / 2 人回复 / 0 人收藏 转载请遵从CC协议 禁止商业使用本文
class Res { private String name; private String sex; private boolean flag=true; public synchronized void set(String name,String sex) { if(flag) { this.name=name; this.sex=sex; flag=false; this.notify(); } else { try{this.wait();}catch(Exception e){} } } public synchronized void put() { if(!flag) { System.out.println(name+"........."+sex); flag=true; this.notify(); } else { try{this.wait();}catch(Exception e){} } } } class Input implements Runnable { private Res s; Input(Res s) { this.s=s; } public void run() { boolean b=true; while(true) { if(b) { s.set("张三"," 男"); b=false; } else { s.set("LiLi"," female"); b=true; } } } } class Output implements Runnable { private Res s; Output(Res s) { this.s=s; } public void run() { while(true) { s.put(); } } } class Demo { public static void main(String[] args) { Res s=new Res(); new Thread(new Input(s)).start(); new Thread(new Output(s)).start(); } } 复制代码
查看全部评分
罗文杰 发表于 2012-6-6 18:31 第二段两个方法中 if else语句的问题 直接写else中的内容,把else去掉。 if(!flag) {