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

急java 主线程和子线程的有关问题,如何让子线程永远不断,直到主线程退出

2012-02-01 
急~!java 主线程和子线程的问题,怎么让子线程永远不断,直到主线程退出情况是这样的---程序启动时,主线程和

急~!java 主线程和子线程的问题,怎么让子线程永远不断,直到主线程退出
情况是这样的---程序启动时,主线程和子线程两头跑,子线程是去查找文件,而且要不间断的去查找,直到主线程退出了,它就自然也退出。可是现在的问题是,启动时,子线程只是跑了一次,查了一次就不动了......我该怎么写,怎么判断主程序不退出时,子线程就一直跑。。。各位帮帮忙

[解决办法]
where(true)
[解决办法]
1 子线程写个死循环,用标志判断是否退出
while(!stop){
}

2 在主线程要退出时,如果有要求子线程必须处理一些事情,可以调用子线程的 setStop(true);


[解决办法]

Java code
class ChildThread implements Runnable{    public static boolean stop=false;    static int count = 0;    public ChildThread()    {    }    public void run()    {        while(!stop)        {            // 查找            search();            count++;        }    }    // 查找    private void search()    {        System.out.println("子线程-查找");    }}public class xingfuweiyu implements Runnable{    static ChildThread c=null;    public static void main(String[] args)     {        // 调用主线程        xingfuweiyu m=new xingfuweiyu();        new Thread(m).start();    }    public void run()    {        // 做些事        System.out.println("主线程");                // 调用子线程        c=new ChildThread();        new Thread(c).start();        try        {            Thread.sleep(3000);        }        catch (Exception e)        {        }        ChildThread.stop = true;        System.out.println("子线程-停止了,执行"+c.count+"次");    }}
[解决办法]
Java code
setDaemon(true)
[解决办法]
探讨

Java code
setDaemon(true)

+
Java code
while(true)

[解决办法]
楼上各位也给出,正解
试下吧
主线程退出子线程跟着退出,
setDaemon(true);//就是这句话就 可以了 守护线程,又叫精灵线程吧

热点排行