碰到一个问题:如果 Thread 被阻塞到 IO 操作上时,主线程(即创建这个线程的线程)无法关闭此线程。
普通的关闭可以如下:
public void run()
{
while(true)
{
//do something
try
{
sleep(1000);
}
catch(InterruptException ex)
{
break; // 当父线程调用该线程的interrupt方法时,抛出异常后,break
}
}
}
如果在 do something 的时候被 IO 操作阻塞,则父线程使用 interrupt 方法时,没有任何效果。即不能正常关闭线程执行。
我想看看大家有什么办法,可以使得父线程可以在任意时刻将子线程关闭。 |
|