suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java – Der Hauptthread wird beendet, ohne dass der untergeordnete Thread endet

Beim heutigen Ausführen eines Programms ist ein Fehler aufgetreten, d. h. eine von der Hauptfunktion ausgeführte Sub-Thread-Aufgabe wurde gestartet, bevor sie abgeschlossen war. Nach dem Hinzufügen von sleep() zum Hauptprogramm wird der Sub-Thread jedoch normal ausgeführt und gestartet (dies funktioniert jedoch nicht, wenn die Ruhezeit zu kurz ist). Der Debug-Sub-Thread bleibt hauptsächlich in der Codezeile hängen, die Datenbankoperationen ausführt (möglicherweise, weil er zeitaufwändiger ist und der Haupt-Thread keine Zeit hat, auf Ihren Abschluss zu warten ...).


typechotypecho2768 Tage vor1148

Antworte allen(2)Ich werde antworten

  • 高洛峰

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

    检查你的子线程是否设置了setDaemon(true),Jvm会在以下情形时退出:

    1. 所有运行线程都是daemon线程时

    2. 或没有任何非daemon线程正在运行时

    Antwort
    0
  • 巴扎黑

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

    线程之间没有父子关系。如果需要等待,可以考虑 join() 方法。 参考:
    /a/11...

    Antwort
    0
  • StornierenAntwort