検索

ホームページ  >  に質問  >  本文

java - 子スレッドが終了せずにメインスレッドが終了する

今日プログラムを実行中にバグが発生しました。つまり、メイン関数によって実行されたサブスレッド タスクが完了する前に起動されました。ただし、メインプログラムに sleep() を追加すると、サブスレッドは正常に実行され、起動されます (ただし、スリープ時間が短すぎる場合は動作しません)。デバッグ サブスレッドは主に、データベース操作を実行するコード行でスタックします (おそらく、処理に時間がかかり、メイン スレッドが終了を待つ時間がないためです...)。


typechotypecho2718日前1101

全員に返信(2)返信します

  • 高洛峰

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

    子スレッドが設定されているかどうかを確認してください setDaemon(true)、Jvm は次の状況で終了します:

    1. 実行中のすべてのスレッドがデーモンスレッドの場合

    2. または非デーモンスレッドが実行されていない場合

    返事
    0
  • 巴扎黑

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

    スレッド間には親子関係はありません。待つ必要がある場合は、join()の方法を検討してください。 参照:
    /a/11...

    返事
    0
  • キャンセル返事