为了完成一些任务,比如读取和解析一个长文件,我总是一个新线程。例如,当用户单击显示场景 1(这是一个首先需要解析的长文本文件)时,我从运行 GUI 的主线程启动一个新线程,如下所示:
Runnable r = new Runnable() {
@Override
public void run() {
// do the work here
}
};
new Thread(r,"new thread").start();
就像我在应用程序运行时启动许多线程一样。这些线程什么时候死?我想他们不会在完成工作后立即死去。是不是它们像其他对象一样被垃圾收集?