import java.util.Iterator;
import java.util.Vector;
public class Main {
public static void main(String[] args) throws Exception {
Vector data = new Vector();
new Producer(data).start();
new Consumer(data).start();
}
}
class Producer extends Thread {
Vector data;
Producer(Vector data) {
super("Producer");
this.data = data;
}
public void run() {
while (true) {
data.addElement(new Object());
if (data.size() > 1000)
data.removeAllElements();
}
}
}
class Consumer extends Thread {
Vector data;
Consumer(Vector data) {
super("Consumer");
this.data = data;
}
public void run() {
while (true) {
synchronized (data) {
Iterator it = data.iterator();
while (it.hasNext())
it.next();
}
}
}
}