在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ Java調(diào)用webservice無(wú)響應(yīng), 使用thread.stop 終止線程合

Java調(diào)用webservice無(wú)響應(yīng), 使用thread.stop 終止線程合適嗎?

項(xiàng)目在調(diào)用一個(gè)WebService接口( wsimport方式 )的時(shí)候偶爾會(huì)出現(xiàn)無(wú)響應(yīng)的情況(表現(xiàn)為程序一直阻塞, 也不拋出任何異常), 查看棧信息如附圖

現(xiàn)在的解決思路就是創(chuàng)建一個(gè)子線程來(lái)調(diào)用WS, 如果調(diào)用無(wú)響應(yīng)(主線程等待超時(shí)), 就終止子線程

因?yàn)榫€程狀態(tài)一直為Runnable, 而且也不是循環(huán), 沒(méi)法用interrupt()來(lái)中斷線程, 這種情況下, 使用stop()終止線程合適嗎? 有沒(méi)有什么更好的解決辦法?

調(diào)用ws線程棧信息:
圖片描述

回答
編輯回答
孤島

不要手動(dòng)操控線程生命周期。你要做的是在線程的Run方法調(diào)用WS的時(shí)候添加超時(shí)參數(shù),一旦超時(shí)直接記錄超時(shí)日志并return,此時(shí)線程會(huì)自動(dòng)終止。

2017年10月6日 12:25