线程是否自杀或停止运行
问题描述:
线程何时会停止运行并停止存在?打印号码10
后会立即停止运行吗?打印后立即可用于垃圾回收10
?或者我必须明确地打断它或者什么?线程是否自杀或停止运行
Runnable counter = new Runnable() {
@Override
public void run() {
for (int i =0; i<=10; i++) {
System.out.println(i);
}
}
};
new Thread(counter).start();
答
线程没有犯自杀。它只是终止或被中止(比如被杀)。
有是证明一个如此残酷的术语的用途的一个重要因素,杀,过程和线程:他们的状态不会被保存,交易的完整性没有直接担保,除非你有另一种机制。
在你的情况下,线程将简单地从1到10打印并终止,下一次GC运行时将被垃圾回收。
没有更多。
你不应该打断任何事情。在你的情况下,一旦'run'方法完成执行,线程退出。 – Maroun 2013-05-02 21:15:42
run()的结尾与main()不一样,这与调用'System.exit()'非常相似。 – 2013-05-02 23:33:26