learning java的源代码。书中每个实例都有相关的代码example。

源代码在线查看: consumer.java

软件大小: 622 K
上传用户: shanyeshuren
关键词: learning example java 源代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				//file: Consumer.java				import java.util.Vector;								class Producer extends Thread {				    static final int MAXQUEUE = 5;				    private Vector messages = new Vector(  );								    public void run(  ) {				        try {				            while ( true ) {				                putMessage(  );				                sleep( 1000 );				            }				        }				        catch( InterruptedException e ) { }				    }								    private synchronized void putMessage(  )				      throws InterruptedException {								        while ( messages.size(  ) == MAXQUEUE )				            wait(  );				        messages.addElement( new java.util.Date().toString(  ) );				        notify(  );				    }								    // called by Consumer				    public synchronized String getMessage(  )				      throws InterruptedException {				        notify(  );				        while ( messages.size(  ) == 0 )				            wait(  );				        String message = (String)messages.firstElement(  );				        messages.removeElement( message );				        return message;				    }				}  // end of class Producer								public class Consumer extends Thread {				    Producer producer;								    Consumer(Producer p) {				        producer = p;				    }								    public void run(  ) {				        try {				            while ( true ) {				                String message = producer.getMessage(  );				                System.out.println("Got message: " + message);				                sleep( 2000 );				            }				        }				        catch( InterruptedException e ) { }				    }								    public static void main(String args[]) {				        Producer producer = new Producer(  );								        producer.start(  );				        new Consumer( producer ).start(  );				    }				}							

相关资源