不知道公司情况?www.huawei.com.cn

解决方案 »

  1.   

    public class reader extends Thread {
    public reader(syobj objin){
    super();
    obj=objin;
    }
    private syobj obj=null;
    public void run(){
    for(int i=0;i<100;i++){
    System.out.println(obj.getNum());
    }
    }
    }
    public class writer extends Thread{
    public writer(syobj objin){
    super();
    obj=objin;
    }
    private syobj obj=null;
    public void run(){
    for(int i=0;i<100;i++){
    obj.putNum(i);
    }
    }
    }
    public class syobj {
    private int num=0;
    public boolean flag;
    public synchronized int getNum(){
    while(!this.flag){
    try{
    this.wait();
    }catch(Exception e){
    System.out.println(e.getMessage());
    }
    }
    int temp=num;
    flag=false;
    this.notify();
    return temp;
    }
    public synchronized void putNum(int input){
    while(this.flag){
    try{
    this.wait();
    }catch(Exception e){
    System.out.println(e.getMessage());
    }
    }
    num=input;
    flag=true;
    this.notify();
    }
    }
    public class testclass {
    public static void main(String[] args) {
    syobj obj=new syobj();
    writer write=new writer(obj);
    reader read=new reader(obj);
    write.start();
    read.start();
    }
    }