package producerconsumer3;

/**
 * Many Producer, many Consumer mittels lokaler Klassen. Auf diese Weise koennen schnell
 * individuelle Threads implementiert werden. 
 * 
 * @author Ralf Kunze (rkunze@uos.de), Institut fuer Informatik, Universitaet
 *         Osnabrueck
 * @date 22.05.2007
 */
public class ProdConDemo {

	public static void main(String args[]) {
		final Depot depot = new Depot();
		
		class Producer implements Runnable {
			public void run() {
				for (int i = 0; i < 1000; i++) {
				      depot.put(i);
				}
			}
		};
		
		new Thread(new Producer()).start();
		new Thread(new Producer()).start();
		new Thread(new Producer()).start();

		
		class Consumer implements Runnable {
			public void run() {
				for (int i = 0; i < 1500; i++)
				      depot.get();
			}
		};
		
		new Thread(new Consumer()).start();
		new Thread(new Consumer()).start();
	}
}
