Partage
  • Partager sur Facebook
  • Partager sur Twitter

boucle infinie et thread en java

Sujet résolu
    30 juillet 2011 à 22:33:14

    Bonjour, je veux créer une application qui doit comparer les dates stockée dans une base de donnée avec la date du système d'une façon continue(infiniment). J'ai pensé à l'utilisation d'une boucle infinie, mais apparemment j'ai constaté que le fait d'utiliser une boucle infinie entraîne un grand utilisation du processeur(~100%)(selon ce que j'ai vu dans le gestionnaire des taches).Une autre solution consiste je vois à utiliser les Thread. mais pour l'instant j'en ai aucune idée.
    Si vous avez une solution, veuillez s'il vous plais me la proposer .
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      30 juillet 2011 à 23:35:57

      Salut,

      En effet tu peux utilisé une Thread mais bon tu utilisera aussi un loop avec pour condition true.

      Tu peux essayer d'executer ton code toute les minutes pour eviter dútiliser trop de cpu.
      • Partager sur Facebook
      • Partager sur Twitter
        30 juillet 2011 à 23:39:14

        Salut,
        Si ta boucle fait des calculs en continue sans appel système il est normal quelle utilise le maximum des ressources du processeur disponibles.
        Si tu ne veux pas utiliser le processeur à 100% il te suffit d'endormir ton Thread quelques instant à chaque boucle (Suffit d'appeler Thread.sleep(<Tps en milisecondes>) ).
        • Partager sur Facebook
        • Partager sur Twitter
          31 juillet 2011 à 4:53:49

          Plop,

          Le plus simple serait d'utiliser un Timer et un TimerTask pour tester toutes les X temps tes dates. Ou sinon tu peux écrire un algo qui récupère la date la plus proche du système dans la base de données et effectuer un sleep dans le thread durant la différence de temps, puis passe à la prochaine date (même si c'est risqué c'est plus optimisé qu'un while(true))
          • Partager sur Facebook
          • Partager sur Twitter
            31 juillet 2011 à 13:29:51

            Merci beaucoup pour vos réponses.L'utilisation de la méthode sleep a résolue le problème.
            • Partager sur Facebook
            • Partager sur Twitter

            boucle infinie et thread en java

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown