Pepijat berlaku semasa menjalankan program hari ini, iaitu tugas sub-utas yang dilaksanakan oleh fungsi utama telah dilancarkan sebelum ia selesai. Walau bagaimanapun, selepas menambah sleep() pada program utama, sub-thread akan dilaksanakan seperti biasa dan dilancarkan (tetapi ia tidak akan berfungsi jika masa tidur terlalu singkat). Sub-benang nyahpepijat kebanyakannya tersekat pada baris kod yang menjalankan operasi pangkalan data (mungkin kerana ia lebih memakan masa dan utas utama tidak mempunyai masa untuk menunggu anda selesai...).
Periksa sama ada rangkaian anak anda ditetapkan
setDaemon(true)
, Jvm akan keluar dalam situasi berikut:Apabila semua benang berjalan adalah benang daemon
atau apabila tiada benang bukan daemon sedang berjalan
Tiada hubungan ibu bapa-anak antara benang. Jika anda perlu menunggu, anda boleh pertimbangkan kaedah
join()
. Rujukan:/a/11...