В моем основном потоке у меня есть цикл while(listening)
, который вызывает accept()
на моем объекте ServerSocket, затем запускает новый клиентский поток и добавляет его в коллекцию при принятии нового клиента.
У меня также есть поток Admin, который я хочу использовать для выдачи команд, таких как "exit", что приведет к отключению всех клиентских потоков, закрытию себя и закрытию основного потока, путем включения ложь.
Однако вызов accept()
в циклах цикла while(listening)
, и, похоже, нет никакого способа прервать его, поэтому условие while не может быть снова проверено, и программа не может выйти!
Есть ли лучший способ сделать это? Или каким-то образом прервать метод блокировки?