是否可以创建一个单独的后台线程来单独做一些事情?我已经尝试了以下程序,但它没有按我的预期工作。
public class Test {
private static class UpdaterThread extends Thread {
private final int TIMEOUT = 3000;
public void run() {
while (true) {
try {
Thread.sleep(TIMEOUT);
System.out.println("3 seconds passed");
} catch (InterruptedException ex) {
}
}
}
}
/**
* @param args
* the command line arguments
*/
public static void main(String[] args) {
try {
Thread u = new UpdaterThread();
u.start();
while (true) {
System.out.println("--");
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
我预计每 3 秒“经过 3 秒”将在多个“--”字符串流中打印。事实上,“3 秒过去”从未被打印出来。为什么?以及如何创建一个独立于主线程做某事的后台线程?