问题描述
请教,什么是线程的中断(interrupt)呢?还有就是什么是抛出中断异常(InterruptedException)啊?能不能形象的说明一下。另外线程中断有什么应用啊?谢谢
解决方案
引用请教,什么是线程的中断(interrupt)呢?如果一个线程在waiting,或者sleeping或者其它类似动作的时候,你可以发出一个interrupt的指令中断这写动作引用还有就是什么是抛出中断异常(InterruptedException)啊?能不能形象的说明一下。另外线程中断有什么应用啊?谢谢 最简单的应用是ThreadPoolExecutor.Worker#interruptIfIdle(),看看源码
解决方案二:
给你举个例子:在应用socket编程的时候,需要创建一个serversocket实例,serversocket类的accept方法就是阻塞方法,即accept会一直等在那里,直到有一个连接请求到达,程序才继续执行。这时候问题就来了,如果没有连接请求,程序会一直阻塞在那里,即不会往下执行,这时候我们就需要中断他。例如可以设置一个等待时间,如果超过此时间,就中断accept方法。hope it helpful to you!
时间: 2024-09-14 05:11:47