recherche

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

java - Le thread principal se termine sans la fin du thread enfant

Un bug s'est produit lors de l'exécution d'un programme aujourd'hui, c'est-à-dire qu'une tâche de sous-thread exécutée par la fonction principale a été lancée avant d'être terminée. Cependant, après avoir ajouté sleep() au programme principal, le sous-thread s'exécutera normalement et sera lancé (mais il ne fonctionnera pas si le temps de veille est trop court). Le sous-thread de débogage est principalement bloqué sur la ligne de code qui effectue les opérations de base de données (peut-être parce que cela prend plus de temps et que le thread principal n'a pas le temps d'attendre que vous ayez terminé...).


typechotypecho2718 Il y a quelques jours1099

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

  • 高洛峰

    高洛峰2017-06-12 09:23:01

    Vérifiez si votre fil de discussion enfant est défini setDaemon(true), Jvm se fermera dans les situations suivantes :

    1. Quand tous les threads en cours d'exécution sont des threads démons

    2. ou lorsqu'aucun thread non-démon n'est en cours d'exécution

    répondre
    0
  • 巴扎黑

    巴扎黑2017-06-12 09:23:01

    Il n'y a pas de relation parent-enfant entre les fils. Si vous devez attendre, vous pouvez envisager la méthode join(). Référence :
    /a/11...

    répondre
    0
  • Annulerrépondre