class A{
private int[] data = new int[10];
private int position; public synchronized int readData(){
return data[0];
}
public synchronized void writeData(int i){
data[(position++)%data.length]= i;
}
}
class Producer extends Thread{
A a;
public Producer(A a){
this.a = a;
start();
}
public void run(){
System.out.println(a.readData());
}
}class Consumer extends Thread{
A a;
public Consumer(A a){
this.a = a;
start();
}
public void run(){
a.writeData(new java.util.Random().nextInt());
}
}public class test{
public static void main(String[] args){
A a = new A();
new Producer(a);
new Producer(a);
new Consumer(a); }
}
private int[] data = new int[10];
private int position; public synchronized int readData(){
return data[0];
}
public synchronized void writeData(int i){
data[(position++)%data.length]= i;
}
}
class Producer extends Thread{
A a;
public Producer(A a){
this.a = a;
start();
}
public void run(){
System.out.println(a.readData());
}
}class Consumer extends Thread{
A a;
public Consumer(A a){
this.a = a;
start();
}
public void run(){
a.writeData(new java.util.Random().nextInt());
}
}public class test{
public static void main(String[] args){
A a = new A();
new Producer(a);
new Producer(a);
new Consumer(a); }
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货