鍍金池/ 問答/Java/ Java調用webservice無響應, 使用thread.stop 終止線程合

Java調用webservice無響應, 使用thread.stop 終止線程合適嗎?

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

現(xiàn)在的解決思路就是創(chuàng)建一個子線程來調用WS, 如果調用無響應(主線程等待超時), 就終止子線程

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

調用ws線程棧信息:
圖片描述

回答
編輯回答
孤島

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

2017年10月6日 12:25