搜尋

首頁  >  問答  >  主體

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

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

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

PHP中文网PHP中文网2889 天前373

全部回覆(3)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:18:17

    不要用固定時間超時的思路。
    專門有一個線程來管理所有線程,並接受心跳,這個線程自然有所有線程的心跳信息,自然也知道哪個線程超過5秒鐘沒接受過心跳,然後在這個線程中對應該被終止的線程發中斷信號。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-18 09:18:17

    簡單的做法就是直接設定讀取逾時。次之是採用非阻塞IO來實作通訊,這樣可以直接在目前執行緒中做超時程式。

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:18:17

    java通訊用netty,不會後悔的選擇

    回覆
    0
  • 取消回覆