In this tutorial, we're going to extend Tutorial 5 to create a thread-per-connection server. This implementation will create a new thread for each client which connects to us. The ACE_Reactor is still used but only for accepting new connections. The Client_Handler objects won't be registered with the reactor. Instead, they'll be responsible for monitoring their peer() directly.