写一个生产者Producter类,一个消费者Customer类,生产者负责将1000个数放入长度为10的Integer[]数组,数组填满时等待,消费者负责将填满之后的数组置空,当消费完之后通知生产者生产,并等待。 public class ProCusTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Queue q = new Queue(); Producter p = new Producter(q); Customer c = new Customer(q); p.start(); c.start(); } } class Producter extends Thread { Queue q; Producter(Queue q) { this.q = q; } public void run() { for(int i = 1; i <= 1000; i++) { q.put(i); } } } class Customer extends Thread { Queue q; Customer(Queue q) { this.q = q; } public void run() { while(true) { q.get(); } } } class Queue { private Integer[] integer = new Integer[10]; private boolean isFull = false; private int m = 0; public synchronized void put(int i) { if(!isFull) { integer[m] = i; m++; System.out.println("producter: " + i); if(m == 10) { isFull = true; m = 0; notify(); try { wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public synchronized void get() { if(!isFull) { try { wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for(int i = 0; i < integer.length; i++) { System.out.println("customer: " + integer[i]); } integer = new Integer[10]; isFull = false; notify(); } }