生产者消费者,死锁不知该如何修改?多谢!public class producer extends Thread{
private static String[] buffer=new String[8] ;
private static int pi=0;
private static int si=0;public synchronized void produce(){
buffer[pi++%8]="produce";
System.out.println("producer:"+pi);if(pi-si+1>8){
try{
wait();
}catch(Exception e){System.out.println(e);}
}notify();}
public synchronized void consume(){
buffer[si++%8]=null;
System.out.println("consumer:"+si);if(pi-si<0){
try{
wait();
}catch(Exception e){System.out.println(e);}
}
notify();
}public void run(){
try{while(true){produce();
}
}catch(Exception e){}}
}------------------------------------------------------------------------public class consumer extends Thread{
private producer p=null;
public consumer(producer p){this.p=p;
}public void run(){p.consume();
}
}------------------------------------------------------------
public class t9{
public static void main(String[] args){
producer p=new producer();
p.start();
consumer c=new consumer(p);
c.start();}}-------------------------------------------------------------
运行结果:C:\bb>java t9
producer:1
producer:2
producer:3
producer:4
producer:5
producer:6
producer:7
producer:8
consumer:1
producer:9
.....
死锁