对线程只懂皮毛,求教大家了!
public class HelloTask  implements Runnable,DListener{       public void HelloTask(){
       }  
        @Override
public void run() {
           while(true){               //dosomething
            }
        }         public void  a(){//方法a是接口DListener里的具体实现
           //do something
         }
}1,当a被执行时,判断HelloTask  的run是否在执行,如果在执行中,就将其终止,执行a中的方法(这个是不是子线程来终止主线程??)
2,HelloTask  如果被多次调用,需要进行判断(和问题1没有关系)。如果第二次执行,就要判断第一次是否执行完了,如果没有,就将其终止,执行第二次的(ps:HelloTask 类是通过handler的handleMessage,被调用。)鄙人初学线程,实在不懂,求大神们给点建议,最好给点代码,多谢了!AndroidJava多线程

解决方案 »

  1.   

    线程如何被终止??我没看到过,一般都是通过将true设为false.
      

  2.   

    1.a()既然是接口的方法,那就是由别人来调用的  所以,不是子线程结束主线程,而是其他线程(可能是主线程或者其他子线程)来发起结束这个动作2.判断线程是否还在执行很简单,isAlive(),但是结束线程是有很多问题的,基本很难立即结束
      

  3.   

    1,
    public class HelloTask  implements Runnable,DListener{       boolean flag= true/false;
           public void HelloTask(){
           }  
            @Override
    public void run() {
               while(flag){               //dosomething
                }
                a();
            }         public void  a(){//方法a是接口DListener里的具体实现
               //do something
             }
    }
    2 第二个没懂