是否可以通過超時(shí)從InputStream讀???具體來說,問題是編寫這樣的方法:int maybeRead(InputStream in, long timeout)如果數(shù)據(jù)在‘超時(shí)值’毫秒內(nèi)可用,則返回值與in.read()相同,否則返回值為-2。在該方法返回之前,任何生成的線程都必須退出。為了避免參數(shù),這里的主題是java.io.InputStream,由Sun(任何Java版本)記錄。請注意,這并不像看上去那么簡單。以下是Sun文檔直接支持的一些事實(shí)。in.read()方法可能是不可中斷的。將InputStream封裝在Reader或InterruptibleChannel中沒有幫助,因?yàn)檫@些類所能做的就是調(diào)用InputStream的方法。如果可以使用這些類,則可以編寫一個(gè)解決方案,直接在InputStream上執(zhí)行相同的邏輯。in.Available()返回0總是可以接受的。in.lose()方法可能阻塞或不做任何操作。沒有一般的方法來殺死另一個(gè)線程。
是否可以通過超時(shí)從InputStream讀?。?/h1>
3 回答

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
Socket.setSoTimeout()
HttpURLConnection.setReadTimeout()
添加回答
舉報(bào)
0/150
提交
取消