Java thread s'arrête sans Exception

Lorsque j'utilise 4 fils pour mon programme il n'y a généralement pas de problème, mais aujourd'hui, j'ai augmenté à 8 et j'ai remarqué 1-3 fils d'arrêter de travailler, sans jeter des exceptions. Est-il de toute façon pour savoir pourquoi ils sont à l'arrêt? est-il de toute façon à rendre le fil de redémarrer?

C'est la façon dont la structure de mon fils est

public void run()
{
  Main.logger.info(threadName + ": New Thread started (inside run)");
  while (true)
  {
    try
    {
      //all my code
      //all my code
      //all my code
    }
    catch(Exception e)
    {
      Main.logger.error("Exception: " + e);
      try
      {
        Thread.sleep(10000);
      }
      catch (InterruptedException e1)
      {
        e1.printStackTrace();
      }
    }
    finally
    {               
      try
      {
        webClient.closeAllWindows();
        Thread.sleep(3000); 
        Main.logger.info(threadName + ": Closed browser!");
      }
      catch (Exception e)
      {
        Main.logger.error("Exception: " + e);
      }
    }  
  }//end while
}

Ce qui concerne les!

Que voyez-vous dans le débogueur?
Quand vous dites "arrêt de travail" voulez-vous dire que le filetage de mettre fin, ou qu'ils se "coincé" et de rester là pour toujours?
c'est difficile à dire, mais quand j'ai vérifier les journaux le dernier message est dans le bloc finally, rien ne se passe avec ce thread après le bloc finally est exécuté
mettre un message de la console à la fin de la course du fil de mise en œuvre qui dit que "la Paix, je suis outta here" ou quelque chose. Puis une pause sur cette ligne ou tout simplement regarder la console
J'ai beaucoup de messages de log dans mon fil et quand ils ne fin, il va tout d'un coup pour le bloc finally et imprime threadName: fermé le navigateur!

OriginalL'auteur Arya | 2012-08-13