public class Producer implements Runnable
1: /**
2: An action that repeatedly inserts a greeting into a queue.
3: */
4: public class Producer implements Runnable
5: {
6: /**
7: Constructs the producer object.
8: @param aGreeting the greating to insert into a queue
9: @param aQueue the queue into which to insert greetings
10: @param count the number of greetings to produce
11: */
12: public Producer(String aGreeting, BoundedQueue<String> aQueue, int count)
13: {
14: greeting = aGreeting;
15: queue = aQueue;
16: greetingCount = count;
17: }
19: public void run()
20: {
21: try
22: {
23: int i = 1;
24: while (i <= greetingCount)
25: {
26: queue.add(i + ": " + greeting);
27: i++;
28: Thread.sleep((int) (Math.random() * DELAY));
29: }
30: }
31: catch (InterruptedException exception)
32: {
33: }
34: }
36: private String greeting;
37: private BoundedQueue<String> queue;
38: private int greetingCount;
40: private static final int DELAY = 10;
41: }