线程中断:它会取消迎面而来的等待()调用吗?
我有一个线程,它有一个传入的作业队列(一个包含作业描述的)。当没有要处理的作业时,线程在队列上阻塞 。外部作业调度程序对象在队列中放置新作业时会唤醒它。LinkedList
wait()
notify()
在我的程序关闭时,我调用线程。当线程等待 中的作业时,将引发此问题。我的问题是:如果我在线程不阻塞但做某种工作时中断线程,处理过的项目是队列中的最后一个(所以队列现在是空的),并且在设置中断标志之前执行超过检查,所以它再次调用,会发生什么?它会因为已经设置中断标志而引发 ,还是线程会永远等待,因为新作业永远不会到达队列,也没有人可以中断等待?interrupt()
InterruptedException
wait()
isInterrupted()
wait()
InterruptedException