为了账号安全,请及时绑定邮箱和手机立即绑定

Java:底端上送心跳时线程继续执行,若超过5秒未上送心跳则线程中断

Java:底端上送心跳时线程继续执行,若超过5秒未上送心跳则线程中断

明月笑刀无情 2019-03-14 14:15:50
不用贴代码,赐我点儿思路就可以,我只会设置线程超时,但是底端上送心跳时这个线程应该是不受影响继续执行的,设置了超时时间,就算心跳上来了到了超时时间这个线程也没了,比较苦恼=。=或者是否可以更新线程超时时间呢?每次心跳过来我都重新设置一个线程的超时时间
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

不要用固定时间超时的思路。
专门有一个线程来管理所有线程,并接受心跳,这个线程自然有所有线程的心跳信息,自然也知道哪个线程超过5秒钟没接受过心跳,然后在这个线程中对应该被终止的线程发中断信号。

查看完整回答
反对 回复 2019-04-19
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

简单的做法就是直接设置读取超时。次之是采用非阻塞IO来实现通讯,这样可以直接在当前线程中做超时程序。


查看完整回答
反对 回复 2019-04-19
  • 3 回答
  • 0 关注
  • 995 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信