Android - 做线程自己停止?

时间:2012-02-29 23:03:13

标签: java android multithreading

我一直在四处寻找,我真的没有找到答案。我知道自己停止线程是一种好习惯,但我一直想知道当我忘记阻止它们时会发生什么。如果我创建一个新线程并让它运行一些任务,那么当任务完成时线程会发生什么?例如,在这种情况下线程会发生什么:

Thread t = new Thread(new Runnable(){

        public void run() {
            for (int i = 0;i<10;i++){
                foo;
            }
        }
    });
t.start();

线程是否会自动停止,它是否会不断耗尽资源,还是会做其他事情?

3 个答案:

答案 0 :(得分:4)

当run方法结束时,线程将停止。在你的例子中,这将是for循环的10次迭代之后,假设foo没有阻塞。如果没有对该线程的更多引用,那么它将被JVM垃圾收集。

答案 1 :(得分:2)

run()完成时,线程结束,是的。如果这就是你的意思,那么stop()一个主题是的好习惯。

答案 2 :(得分:0)

如果不是守护进程,则在完成任务后它不会消耗所有资源。