Итак, это то, что у меня есть. Это серверная программа, которая соединяется с несколькими клиентами с помощью потоков. На данный момент эта основная петля почти бесконечна. Скажите, что клиент отправил команду shutdown на ServerThread. Может ли этот ServerThread получить доступ к основному классу, выйти из цикла и дойти до конца программы?Нарушение цикла из другого класса
Я попытался превратить isRunning = false в ServerThread, но это не работает.
public class Server
{
public static boolean isRunning = true;
public static void main(String[] args)
{
// init stuff
try {
serverSocket = new ServerSocket(27647);
} catch (IOException e) {
println("Could not listen on port 27647");
}
while(isRunning)
{
Socket clientSocket = null;
try{
clientSocket = serverSocket.accept();
} catch(IOException e) {
println("Could not connect to client");
}
ServerThread serv = new ServerThread(clientSocket);
serv.start();
}
try {
serverSocket.close();
} catch (IOException e1) { }
}
}
Показать код, где вы положили 'isRunning = false' в ServerThread – user93353