我需要调用外部方法,有时需要无限期的时间才能完成。
void doMyStuff(){
// do my stuff
// work is being done by doStuff thread
externalMethod(); // This is external and sometimes takes hours
// I need to check if current thread is interrupted and then return after a certain time
}
但是,我不能保持一个线程参与,所以我需要在一段固定时间后终止该过程。我可以在Websphere's WorkManager API的帮助下从外部线程中断doStuff线程。但只有发送中断信号才有用,除非被中断的线程处理它。
我想在一段时间之后将doStuff线程返回到线程池,无论extenalMethod()
是否返回。怎么办呢?
答案 0 :(得分:0)
使用myThread.isInterrupted()
查看线程是否被中断。
void doMyStuffs(){
//do my stuffs
System.out.println(myThread.isInterrupted());
}