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 ...).
检查你的子线程是否设置了
setDaemon(true)
,Jvm会在以下情形时退出:所有运行线程都是daemon线程时
或没有任何非daemon线程正在运行时
线程之间没有父子关系。如果需要等待,可以考虑
join()
方法。 参考:/a/11...