在run()中设置退出条件,当条件符合,退出run()方法

解决方案 »

  1.   

    在定义线程的时候作一个同步synchronized,这样的话就可以在一个线程执行时禁止其他线程的执行,你可以去查一下THREAD这方面的资料,我手头有一本java thread programming,想要得话告诉我你的EMAIL,还有就是我觉得你这一段对吗?if ( !a.isAlive() ) {
          a.start(); }
          ........
          b = new B();
          if ( !b.isAlive() ) {
          b.start(); }
    只有在a.start()后a.isAlive()才是活的,你这样写这一段有意义吗?或许我理解不对,可以讨论一下!
      

  2.   

    agree 例如在A中设置一个布尔值变量stop,提供相应的函数setStop(boolean a)对stop进行修改在run中增加这样的判断 while(!stop){...}
    需要停止该线程的时候,在class App中调用A的函数setStop(true)
      

  3.   

    漂流:
    你的回复我先去试试看,先谢谢了。第九天:
    [email protected]
    你提出的疑问,我是有原因的,本来是不需要这样作的,但我现在做的是一个API程序,由于考虑到用户的使用情况,不能让用户直接使用start()。所以我就加了各init(...),让用户调用,但调用后不能启动A线程,所以才出此下策!
      

  4.   

    theninthsky(第九天) 
    [email protected]
    谢谢:)