主线程在子线程未结束情况下退出

今天在运行一段程序时出现了个bug,就是主函数执行的一个子线程任务还没结束的时候就推出执行了。但是在主程序中加入sleep()之后子线程会正常执行后推出(但是休眠时间过短也不行)。debug子线程主要是卡在执行数据库操作那一行代码(可能是应为比较耗时吧,主线程来不及等你结束。。。)。

阅读 6.6k
2 个回答

检查你的子线程是否设置了setDaemon(true),Jvm会在以下情形时退出:

  1. 所有运行线程都是daemon线程时

  2. 或没有任何非daemon线程正在运行时

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏