Im создает клиентскую программу сервера, где клиент отправляет определенную информацию на сервер и получает ответ от сервера. Для непрерывного прослушивания нескольких клиентов у меня есть поток на сервере, который постоянно прослушивает запрос клиента. всякий раз, когда запрос получен, я запускаю другой поток и отправляю этот сокет для запуска и запуска прослушивания запроса других клиентов.Killing thread in java
здесь код для непрерывного прослушивания
while(true){
//serverListener is a ServerSocket object
clientSocket = serverListener.accept();//Waiting for any client request
//New thread started when request is received from any client
Thread thread =new Thread(new serverThread(clientSocket), "ClientThread");
thread.start();
}
Теперь моя проблема заключается в том, что, как я могу остановить сервер. Я знаю одну альтернативу использования переменной boo lean во время цикла, а затем изменение значения, но проблема заключается в том, когда поток ожидает ожидания какого-либо соединения в это время изменение значения логической переменной также не остановит сервер.
Есть ли способ решить эту проблему.
1 решение, которое я нашел, что использование тайм-аут для сокета сервера, а затем с использованием логической переменной, которая проверяет, остановлен ли сервер или нет. – Zlatan