首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请求好手:在主线程启动子线程后,子线程还在运行,而主线程后已经没有语句可以执行,这时为什么主线程不退出

2013-04-02 
请求高手:在主线程启动子线程后,子线程还在运行,而主线程后已经没有语句可以执行,这时为什么主线程不退出?

请求高手:在主线程启动子线程后,子线程还在运行,而主线程后已经没有语句可以执行,这时为什么主线程不退出?
在主线程启动子线程后,子线程还在运行,而主线程后已经没有语句可以执行,这时为什么主线程不退出?

public class ProducerConumer {
    public static void man(Strings[] args) {
        ProductList ps = new ProductList();
        Producer px = new Producer(ps, "X");
        Consumer ch = new Consumer(ps, "Y");
       //以下两个线程会循环执行一些任务,启动后不会马上停止
        new Thread(px).start();
        new Thread(ch).start();
       //疑问就是为何现在主线程启动子线程后没有了代码可执行,而子线程仞在执行,
       //按照java高手真经上,此时为何主线程不退出?它在等待着什么?或者主线程退出的条件又有哪些呢?
       //还望各位大大高手们赐教,多谢了。  
   }
}
thread java多线程问题 java主线程退出问题
[解决办法]
引用
setDaemon

public final void setDaemon(boolean on)
Marks this thread as either a daemon thread or a user thread. The Java Virtual Machine exits when the only threads running are all daemon threads.
This method must be called before the thread is started.


setDaemon
[解决办法]
执行完第八行时,主线程运行完了,只有子线程还在运行。
lz凭什么讲主线程还在运行?
[解决办法]
主线程已经over了,只是子线程还在run。

[解决办法]
主线程已经执行完了 。
只是子线程在执行。
如果你需要在主线程执行完之后  子线程也退出。
可以讲子线程设置为守护线程  用setDaemon(true) 方法。   注意该方法必须要在线程运行之前调用

热点排行