中断java套接字

中断java套接字,java,network-programming,Java,Network Programming,基本上,我正在为java做选择性重复协议,我有多个线程来做这件事。我有一个发送和接收的线程,但是我的代码被卡住了 socket.receive(packet); 我有一个时间表: Timer time = new Timer(true); time.schedule(new Timeout (i) {}, timeOut) 计时器线程被正确调用,计时器线程用于中断等待接收的线程,但中断调用不起任何作用。线程中断不能停止阻塞套接字接收调用吗?如果是这样,我还能做什么 你是怎么合上你的线的?也许

基本上,我正在为java做选择性重复协议,我有多个线程来做这件事。我有一个发送和接收的线程,但是我的代码被卡住了

socket.receive(packet);
我有一个时间表:

Timer time = new Timer(true);
time.schedule(new Timeout (i) {}, timeOut)

计时器线程被正确调用,计时器线程用于中断等待接收的线程,但中断调用不起任何作用。线程中断不能停止阻塞套接字接收调用吗?如果是这样,我还能做什么

你是怎么合上你的线的?也许这能帮到你:@Yonggan我有一组线程。因此,在计时器线程中,我说threads[index].currentThread().Interrupt(),但threads[index]中的线程不会抛出中断异常或其他任何东西,在接收点暂停,我想我知道它已被弃用,但让我们用stop()方法尝试一下。如果这不起作用,请尝试销毁Thread对象并尝试是否起作用。如果要中断读取,则必须关闭套接字。如果要在阻塞读取一段时间后出现异常,则需要设置读取超时。您不能使用
Thread.stop()
Thread.destroy()
。有关进一步的参考,请参阅:可能您遇到了设计问题?您是如何关闭线程的?也许这能帮到你:@Yonggan我有一组线程。因此,在计时器线程中,我说threads[index].currentThread().Interrupt(),但threads[index]中的线程不会抛出中断异常或其他任何东西,在接收点暂停,我想我知道它已被弃用,但让我们用stop()方法尝试一下。如果这不起作用,请尝试销毁Thread对象并尝试是否起作用。如果要中断读取,则必须关闭套接字。如果要在阻塞读取一段时间后出现异常,则需要设置读取超时。您不能使用
Thread.stop()
Thread.destroy()
。有关进一步的参考,请参阅:也许您遇到了设计问题?