Je crée un Thread pour cette classe à partir de la fonction principale, mais même après son interruption à l'aide de Thread.currentThread(). La sortie interruption() contient toujours la ligne Still Here.Java Thread actif après l'interruption
public class WriteToServer extends Thread {
private DataOutputStream writeMessage;
private String clientName;
public WriteToServer(Socket socket, String clientName) {
try {
this.writeMessage = new DataOutputStream(socket.getOutputStream());
this.clientName = clientName;
} catch(Exception e) {
System.err.println(e);
Thread.currentThread().interrupt();
}
}
public void run() {
try {
Scanner scanner = new Scanner(System.in);
String message = scanner.nextLine();
while (!message.equalsIgnoreCase("quit")) {
writeMessage.writeUTF(clientName + ":" + message);
message = scanner.nextLine();
}
writeMessage.writeUTF(message);
writeMessage.close();
Thread.currentThread().interrupt();
System.out.println("Still Here");
} catch(Exception e) {
System.err.println(e);
Thread.currentThread().interrupt();
}
}
}
Je suis nouveau à Java et je veux améliorer toutes les suggestions?
Le terme « interruption » est surchargée en Java signifie «pas vraiment une interruption. –
Pouvez-vous élaborer? – sudojdoe