From: jcb@... (MetalOne) Date: 2002-11-01T09:40:45+09:00 Subject: Re: Is this the best start to ruby socket server for flash clients? Starting a new thread for each incoming connection is not a good idea. If too many threads get started, the task switching can bog you down. There are many design choices here. You can create a set number of threads that all retrieve tasks from a queue of tasks. You can create a thread pool to control the number of threads. There are various patterns for event dispatching frameworks that control when events get executed and how threads are utilized. I highly recommend Concurrent Programming in Java, Second Edition. Design Principles and Patterns by Doug Lea. The focus of the book is in writing well designed Concurrent applications. Java is just used for the examples. You can do everything asynchonously. You should examine the documentation for Apache. They lay out all their design choices and why. It has been a couple years since I saw this, so I can't say where. I think you can find it from the FAQ.