我有两类线程A和B,A和B的业务逻辑不同,相互之间独立,
我想问一下,怎样保证所有的A类线程执行完以后才开始执行B类线程?谢谢

解决方案 »

  1.   

    那你在a执行完后,再start b不就行了!
      

  2.   

    你的线程A是一组线程还是一个啊,如果是一个那还有必要吗?你启动一个线程C,在线程C中调用A的run方法(不是start,即不会启动另外一个线程),然后再调用B的run方法,这样就可以保证顺序啦
      

  3.   

    设置A的优先级别比B高
    A.setPriority(int a);
    B.setPriority(int b);
    a>b
      

  4.   

    如果这样,你还是在线程C中使用ThreadGroupA,所有的线程A都属于ThreadGroupA
    然后在C中调用ThreadGroupA的activeCount() 来看看是不是所有的A都已经结束了
      

  5.   

    比较符合你的要求的方法有两个,
    1) wait + notify
        B 线程 wait, 直到A notify2) 这个有要求,要 A是子线程,B是主线程
        A.join() 
        A结束后B 才继续执行。
      

  6.   

    我的是A和B都会放到线程池里面,又没有办法控制线程池里面的A类线程先执行,B类线程等待所有A类线程执行完后才执行?