Java调用webservice无响应, 使用thread.stop 终止线程合适吗?

项目在调用一个WebService接口( wsimport方式 )的时候偶尔会出现无响应的情况(表现为程序一直阻塞, 也不抛出任何异常), 查看栈信息如附图

现在的解决思路就是创建一个子线程来调用WS, 如果调用无响应(主线程等待超时), 就终止子线程

因为线程状态一直为Runnable, 而且也不是循环, 没法用interrupt()来中断线程, 这种情况下, 使用stop()终止线程合适吗? 有没有什么更好的解决办法?

调用ws线程栈信息:

https://img2.mukewang.com/5b551e5d0001427e08000464.jpg


哆啦的时光机
浏览 296回答 1
1回答

蛊毒传说

不要手动操控线程生命周期。你要做的是在线程的Run方法调用WS的时候添加超时参数,一旦超时直接记录超时日志并return,此时线程会自动终止。
打开App,查看更多内容
随时随地看视频慕课网APP