import java.util.Random; public class Producer extends Thread{ public Producer(BoundedBuffer buffer, int num, String name, int speed){ _buffer = buffer; _n = num; _name = name; _speed = speed; } public void run(){ for (int i = 0; i < _n; ++i){ // producing item - random time Random rg = new Random(System.currentTimeMillis()); int time = rg.nextInt(_speed); try { sleep(time); } catch(Exception e){ System.out.println(e); } BBItem itm = new BBItem(); System.out.println("Producer: " + _name + " produced: " + itm); _buffer.put(itm); } } protected BoundedBuffer _buffer; protected int _n, _speed; protected String _name; }