After a thread started, if the reference of the thread is set to null
, what will happen to the thread? Does it stop? Is it eligible for GC?
Like this:
t.start();
t = null;
See Question&Answers more detail:osAfter a thread started, if the reference of the thread is set to null
, what will happen to the thread? Does it stop? Is it eligible for GC?
Like this:
t.start();
t = null;
See Question&Answers more detail:osLive thread will continue running even its reference is set to null.
Just like any other object, when there are no references to it, it is eligible to GC. The tricky point is that a running thread has a reference in a ThreadGroup even if your program does not retain one, thus a running thread is never GCed.