不是开箱即用,不。通常,只有当另一个线程关闭基础流或到达输入的末尾时,Reader才会中断read()调用。
由于read()并非具有所有可中断性,因此这成为并发编程问题。知道超时的线程将需要能够中断正在尝试读取输入的线程。
本质上,读取线程将必须轮询Reader的ready()方法,而不是在没有要读取的内容时被锁定在read()中。如果将此轮询和等待 *** 作包装在java.util.concurrent.Future中,则将调用带有超时的Future的get()方法。
本文将详细介绍:http :
//www.javaspecialists.eu/archive/Issue153.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)