div*_*gon 3 java multithreading
在Java中悬空线程会发生什么?
就像我创建一个应用程序并生成多个线程一样.其中一个线程没有完成,主程序在此之前完成.这个悬空线会发生什么?是否会无限期地保留在线程池中,否则JVM会在阈值时间段后终止该线程???
这取决于线程是否已被标记为"守护进程".当JVM退出时,守护程序线程将被终止.如果有任何线程不是守护进程,那么JVM根本不会退出.它会等待那些线程先完成.
默认情况下,线程采用其父线程的守护程序状态.主线程设置了守护进程,false因此它所分叉的任何线程也将如此false.您可以在线程启动true 之前将守护程序标志设置为:
Thread thread = new Thread(...);
thread.setDaemon(true);
thread.start();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
871 次 |
| 最近记录: |