Con*_*sen 3 java multithreading
看一下这段代码:
public class ThreadTest {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
while(true) {
//some code here
}
}
}).start();
System.out.println("End of main");
}
}
Run Code Online (Sandbox Code Playgroud)
通常,main到达的结尾时,程序会终止。但是在此示例中,程序将打印“ main of End”,然后继续运行,因为线程仍在运行。有没有一种方法可以使线程在结束时自动停止,而无需使用类似的东西while(isRunning)?
您创建的线程是独立的,并且不依赖于主线程终止。您可以使用Daemon线程。当没有其他线程在运行时,守护程序线程将由JVM终止,它也包括一个执行主线程。
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
System.out.println("Daemon thread");
}
}
});
t.setDaemon(true);
t.start();
System.out.println("End of main");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
984 次 |
| 最近记录: |