IAm*_*aja 3 java eclipse debugging multithreading daemon
每当我在Eclipse中运行调试配置(“调试会话”),并切换到“调试透视图”时,我总是在调用堆栈视图中看到“线程”以及“守护程序线程”。
为什么有些线程守护程序和其他一些POT(普通旧线程)?提前致谢!
(注意:我不是在问Eclipse是什么守护程序,或者是什么守护程序线程,而是在询问Eclipse如何确定哪些线程是守护程序。)
守护线程中的Java的线程在后台(大多是由创建运行JVM),用于执行后台任务(如垃圾收集)。守护程序线程和用户线程之间的主要区别在于,一旦所有用户线程完成执行,Java就会自行终止。虚拟机不等待守护程序线程完成其执行。
请注意,您可以通过创建一个线程用户线程是一个守护线程的setDaemon(true)(和它之前,必须调用线程的start()方法被调用)。
为了使程序继续运行,它必须始终至少具有一个活动用户线程。
像您一样,Eclipse可以轻松地检查是否有线程isDaemon()。