recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

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

PHP中文网PHP中文网2889 Il y a quelques jours369

répondre à tous(3)je répondrai

  • 伊谢尔伦

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

    N'utilisez pas l'idée d'un délai d'attente fixe.
    Il existe un fil dédié pour gérer tous les fils et recevoir des battements de cœur. Ce fil contient naturellement les informations de battement de cœur de tous les fils. Il sait aussi naturellement quel fil n'a pas reçu de battement de cœur depuis plus de 5 secondes, et puis dans ce fil, il doit être terminé. Le thread envoie un signal d'interruption.

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-18 09:18:17

    Le moyen le plus simple consiste à définir directement le délai d'attente de lecture. La seconde consiste à utiliser des E/S non bloquantes pour établir la communication, afin que le programme de délai d'attente puisse être effectué directement dans le thread actuel.

    répondre
    0
  • 巴扎黑

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

    Utiliser Netty pour la communication Java, un choix que vous ne regretterez pas

    répondre
    0
  • Annulerrépondre