Blocking implementations of server using java.io and java.net: single thread, thread per connection, thread pool.