相关疑难解决方法(0)

是否收集了Java Thread Garbage

这个问题发布在某个网站上.我没有在那里找到正确的答案,所以我再次在这里发布.

public class TestThread {
    public static void main(String[] s) {
        // anonymous class extends Thread
        Thread t = new Thread() {
            public void run() {
                // infinite loop
                while (true) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                    }
                    // as long as this line printed out, you know it is alive.
                    System.out.println("thread is running...");
                }
            }
        };
        t.start(); // Line A
        t = null; // Line B
        // no more references for Thread t
        // another infinite …
Run Code Online (Sandbox Code Playgroud)

java multithreading garbage-collection

84
推荐指数
4
解决办法
3万
查看次数

在Java中运行run()方法后,线程会自动收集垃圾吗?

线程是否会自动删除并在运行后收集垃圾,或者它是否继续存在并且即使在run()方法完成后也会占用内存?

例如:

Class A{
  public void somemethod()
  {
  while(true)
  new ThreadClass().start();
  }

   public class ThreadClass extends Thread{
        public ThreadClass()
        {}
        @Override
        public void run() {......}
     }
}
Run Code Online (Sandbox Code Playgroud)

我想澄清一下这个线程是否会自动从内存中删除,还是需要明确地完成.

java multithreading android

7
推荐指数
1
解决办法
1985
查看次数