> Also, what is written so far doesn't actually do much except wrap the > ends of a Queue with wait/notify. You still have to make some threads, > do something useful with the thingy, and start the execution. Not to > mention deciding where to put the looping (parent Thread with a > separate run() or in the run() s above) and how to control the > termination of the process. Once you decide where to put these things, > ask yourself how obvious will your decision be to the future > maintainers? But that is one reason why one uses a pattern - so that others can more easily understand what you are doing and why. Any reader versed in the producer-consumer pattern will immediately have a good sense of the hows and whys simply by seeing the name "producer-consumer". Contrary to this, rolling your own solution causes the reader to start with nothing. No? I see patterns as a way to attack complexity not a way to increase it. Mike