我有一个多线程控制台应用程序,可以从两个不同的来源获取输入.一个是用户输入控制台,另一个是网络.我使用BufferedReader.readline()来获取用户和块的输入,这很好,除非我在等待时接收网络输入.在这种情况下,我需要通过取消readline()来取消阻止用户线程.
我认为取消它的最好方法是关闭System.in并使readline()抛出异常.在那之后,虽然我需要重新打开它.那可能吗?
java io console multithreading
console ×1
io ×1
java ×1
multithreading ×1