文章詳情頁
java - 主線程在子線程未結束情況下退出
瀏覽:169日期:2023-11-11 15:42:46
問題描述
今天在運行一段程序時出現了個bug,就是主函數執行的一個子線程任務還沒結束的時候就推出執行了。但是在主程序中加入sleep()之后子線程會正常執行后推出(但是休眠時間過短也不行)。debug子線程主要是卡在執行數據庫操作那一行代碼(可能是應為比較耗時吧,主線程來不及等你結束。。。)。
問題解答
回答1:檢查你的子線程是否設置了setDaemon(true),Jvm會在以下情形時退出:
所有運行線程都是daemon線程時
或沒有任何非daemon線程正在運行時
回答2:線程之間沒有父子關系。如果需要等待,可以考慮 join() 方法。 參考:/a/11...
標簽:
java
相關文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. javascript - Web微信聊天輸入框解決方案3. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應4. javascript - log4js的使用問題5. docker - 如何修改運行中容器的配置6. javascript - 移動端textarea不能上下滑動,該怎么解決?7. javascript - history.replaceState()無法改變query參數8. javascript - 為什么form表單提交沒有跨域問題,但ajax提交有跨域問題?9. javascript - Ajax加載Json時,移動端頁面向左上角縮小一截兒,加載完成后才正常顯示,這該如何解決?10. javascript - 為什么這個點擊事件需要點擊兩次才有效果
排行榜
