日期:2014-05-20  浏览次数:20714 次

testThread=null;
[Java]如果:
Thread   testThread=new   Thread(new   Runnable()
{
        while(true)
                System.ouyt.println( "test ");
});

testThread.start();

testThread=null;

我测试了这样线程不会中断,但是我不明白对象都null了,那不就是等待垃圾回收了不是?是不是工作中的对象永远不会被回收?还是另有其他变量在引用testThread(线程池)?


来自于一个NIIT题:
30.   关于JDK1.2的线程,以下陈述中哪个为真?
1. 你不可由Thread类进行扩展。
2. 线程赋以null值会破坏它。
3. 线程体只能写在run方法内。
4. Java   程序中,你只能启动一个线程。


我作模拟题的时候选了2,后来对答案测试了知道2不对。但是答案3就能说得过去吗?我完全可以在run()方法中调用类中的其他方法,况且Thread接受的是实现了Runnable接口的对象,而不是像C#中通过代理回调函数。

xiexie

------解决方案--------------------
up
------解决方案--------------------
這裡是C#.NET
------解决方案--------------------
我测试了这样线程不会中断,但是我不明白对象都null了,那不就是等待垃圾回收了不是?是不是工作中的对象永远不会被回收?还是另有其他变量在引用testThread(线程池)?
==================================================================

应该是等待垃圾回收


第二题,我选3