Это может быть слишком упрощенно (поскольку не имеет отношения к тому, как «повторно объединить» потоки после завершения соединения - при условии, что вам нужно это сделать.)
Кроме того, если это будет происходить часто, вы хотите использовать Executor
(пул потоков) вместо того, чтобы вручную создавать свой собственный Thread
- создание / удаление потоков стоит дорого.
Я также пренебрегаю обработкой исключений в этом фрагменте (что не совсем тривиально).
Runnable runnable = new Runnable() {
public void run() {
InetAddress serverAddr = InetAddress.getByName(serverAddress);
String hostname = serverAddr.getCanonicalHostName();
Socket socket = new Socket(new InetSocketAddress(serverAddr, portNumber), 3000);
/* ... do more of your after-connection processing here, assuming it doesn't
* need to be in the original "dispatch" thread.
*/
}
};
Thread t = new Thread(runnable);
t.start();