线程是自杀还是停止运行

时间:2013-05-02 21:10:22

标签: java multithreading runnable

此线程何时停止运行并停止存在?打印号码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 个答案:

答案 0 :(得分:3)

线程未提交自杀。它只是终止或中止(比如杀死)。

有一个重要的因素可以证明对于进程和线程使用如此残酷的术语 kill :除非你有其他机制,否则它们的状态不会被保存,并且事务完整性不能得到直接保证。

在你的情况下,线程只会从1到10打印并终止,下次GC运行时会被打开。

没有更多。