JavaDoc for Thread表示,Thread.interrupt()中断线程的方式如下:
阻塞在对象的wait()方法或线程的join()或sleep()方法中的线程将被唤醒,它们的中断状态将被清除在InterruptibleChannel的I/O操作中阻塞的线程将设置其中断状态并接收ClosedByInterruptException。此外,频道将关闭。在Selector中阻塞的线程将设置其中断状态并立即返回。在这种情
我有以下服务代码,我在其中启动了一个线程,负责在消息传入时对其进行调度。 while (!当没有消息要处理时,处理线程将等待,直到添加一个消息,“添加”将通知任何等待线程为什么新消息被添加到队列中。我的想法是,当没有消息存在(因为它被阻塞)时,分派线程不会使用最少的资源。我的线程被阻塞了这么长时间,它显然不高兴,但为什么这是一个问题?这是不是更有效率,因为它在等待时不会使用任何CPU周期?
另外,