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

不用贴代码,赐我点儿思路就可以,我只会设置线程超时,但是底端上送心跳时这个线程应该是不受影响继续执行的,设置了超时时间,就算心跳上来了到了超时时间这个线程也没了,比较苦恼=。=

或者是否可以更新线程超时时间呢?每次心跳过来我都重新设置一个线程的超时时间

阅读 2.9k
3 个回答

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

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

java通信用netty,不会后悔的选择

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题