我有以下代码,它在一个简单的主活动上运行:
Executor executor = Executors.newFixedThreadPool(1);
executor.execute(new Runnable() {
public void run() {
try {
System.out.println("sleep");
Thread.sleep(5000);
} catch (InterruptedException e) {
System.out.println("Interrupted, so exiting.");
}
}
});看起来,当我运行这个代码应用程序时,它不会终止,也不会打印任何东西(除了第一次睡眠)。
另一方面,当我运行以下代码时:
Thread t = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});应用程序可以正常终止。为什么?
https://stackoverflow.com/questions/50641549
复制相似问题