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