After Jim Gray's video, I thought I would pull my blocking queue implementation out and experiment a little. Here is my bounded blocking queue that can handle many consumers and many producers. Also included is a simple server example using multiple
listeners (two threads per listener) and one server thread servicing the input queue. This design could be used to service N number of clients. It is geared toward UDP or TCP request/reply (not stateful TCP connections beyond a single request/reply pair.) Feel
free to post comments or your own designs. Cheers!
Note: Built with Framework 1.1. The complete c# project is in the zip. Also, to keep things simple so as not to complicate the general idea, we don't use actual network/socket connections, but just abstract the idea.