我有一个程序通过xot(x25 over tcp/ip)协议连接到服务器。java:如何停止等待很长时间的线程
我有一个线程连接,发送recv数据与服务器使用xot库。
public class MyThread extends Thread{
public MyThread() {
}
@Override
public void run(){
// init sock
...
// connect to server
sock.connect("server_address", timeout);
System.out.println("send data ..");
sock.send(data);
System.out.println("send data ok, recv data ..");
Data data = sock.recv();
System.out.println("recv data ok");
}
}
我的lib我使用可以处理连接超时,但没有像setSoTimeout()方法没有发送& recv的数据时,处理超时。
因此,当发送& recv方法运行很长时间时,我不知道如何阻止mythread正确的方向。
任何人都可以建议我一些解决方案。
感谢
泉
请注意,由于线程无法自行中断,因此您需要第二个线程(或定时器)来触发中断。 – Thilo 2010-01-06 09:53:50
好的,谢谢所有:) – QuanNH 2010-01-06 10:14:26
哦,如何添加代码,以检查中断状态,当recath方法等待resp从服务器(没有打印“recv数据ok”)mythread挂起 – QuanNH 2010-01-06 10:37:39