现在遇到一个没有办法解决的问题,请教一下各位我 A程序 启动一个 b线程  b 进程又启动了n个c线程我现在想结束 b线程包括他启动的c线程但是我不管在a中用b.stop() 还是让b退出run 都不行,请问一下,我要怎么设置才可以一下结束b和他启动的c进程
谢谢 

解决方案 »

  1.   

    有没有直接可以供调用的方法,我也不是很清楚。但是可以利用自己的控制来实现,在线程c里面设置一个boolean的类变量,比方说boolean stop = true; 然后在run方法里面写循环的时候用while(stop){}, 在线程b里面先保存下所有的c的线程的引用,写一个stop的方法,public stop() {//将所有线程c的stop置为false, 然后中止自己}, 如果要停止b的时候就在a里面调用b的stop方法即可。当然,这些线程最好都是实现Runnable接口来实现。
      

  2.   

    对, 停止线程不应该用 stop , 而建议用 标志位,
      

  3.   

    while(flag=1){
    b..
    }
    while(flag=1){
    c..
    }
    class b {
     private void close(){
      flag = 0;
    }
    }
    class c {
     private void close(){
      flag = 0;
    }
    }
    b.close();
    c.close();