Tôi có khối mã sau đây:Thoát khỏi một sợi
public void startListening() throws Exception {
serverSocket = new DatagramSocket(port);
new Thread() {
@Override
public void run() {
System.out.print("Started Listening");
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
while (!stopFlag) {
try {
serverSocket.receive(receivePacket);
String message = new String(receivePacket.getData());
System.out.println("RECEIVED: " + message);
} catch (Exception ex) {
System.out.print("Execption :" + ex.getMessage());
}
}
}
}.start();
}
public void stopListening() {
this.stopFlag = true;
}
Giả sử tôi đặt stopFlag là true. serverSocket.receive(receivePacket);
sẽ đợi cho đến khi nó nhận được gói. Tôi nên làm gì nếu tôi muốn chuỗi thoát ngay khi stopFlag được đặt thành true.
Tôi hoàn toàn quên rằng một :). Tôi hy vọng bạn coi đó là lòng biết ơn rằng tôi sẽ chỉnh sửa câu trả lời của tôi cho độc giả trong tương lai. –
@mistalee nó hoạt động ... cảm ơn –