私はこのプログラムでスレッドを停止する方法を知っておく必要があります。Javaスレッドを停止するにはどうすればよいですか?
public class MasterServerThread extends Thread{
private Socket socket = null;
private MasterServer server = null;
private int clientID = -1;
private BufferedReader streamInput = null;
private PrintWriter streamOutput = null;
public MasterServerThread(MasterServer _server, Socket _socket){
server = _server;
socket = _socket;
clientID = _socket.getPort();
}
public void run(){
server.Log("Server Thread " +clientID + " running");
while(true){
String test;
try {
test = streamInput.readLine();
System.out.println("Client "+clientID+": "+test);
} catch (IOException e) {
System.out.println(clientID+ " Error reading: "+e.getMessage());
}
server.handleClient(clientID, "test");
}
}
}
は、これは私のサーバースレッドコードです。私のクライアントは、それ自体を終了すると、私はエラーの無限ループを得る:
53088読み込みエラー:接続が0
をリセットし、私は何かがここで行われる必要がある知っているが、私は何を知っていません、正確:
try {
test = streamInput.readLine();
System.out.println("Client "+clientID+": "+test);
} catch (IOException e) {
System.out.println(clientID+ " Error reading: "+e.getMessage());
}
驚くべきことに、(実際の)ループは実際には永遠に実行されます... – meriton