Heim > Fragen und Antworten > Hauptteil
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 ...).
高洛峰2017-06-12 09:23:01
检查你的子线程是否设置了setDaemon(true)
,Jvm会在以下情形时退出:
所有运行线程都是daemon线程时
或没有任何非daemon线程正在运行时