When wil the new Thread() without reference be garbage collected

后端 未结 3 1376
耶瑟儿~
耶瑟儿~ 2020-12-19 06:45

In the below example, new Thread() doesnt have any reference. Is it possible that it be garbage collected below it is dead ? Also without extending Thread class or implement

3条回答
  •  猫巷女王i
    2020-12-19 07:04

    A new thread that has not been started will be garbage collected when it becomes unreachable in the normal way.

    A new thread that has been started becomes a garbage collection "root". It won't be garbage collected until (after) it finishes.

    In the below example, new Thread() doesnt have any reference. Is it possible that it be garbage collected below it is dead ?

    No. It has been started, and hence won't be garbage collected until it finishes / dies. And it does have a reachable reference until (at least) the point at which the start() call returns.

    Also without extending Thread class or implementing runnable, how are we creating a thread?

    In your example, you have created anonymous subclass of Thread; i.e. a class that extends Thread.

提交回复
热议问题