Does the Server need to be run in a separate thread for multithreading or does the server create its own thread on server.start(); ?