用sleep()方法,主线程可以设置sleep()时间长些,等其他线程运行结束后主线程再运行。比如主线程调用sleep(5000),即挂起5秒再运行,其他线程只要在5秒内完成就可以了

解决方案 »

  1.   

    主线程设置一个整型属性count,初值为0,每启动一个线程,count++
    启动完所有线程后wait()
    定义主线程方法
    public void forNotify(){
      if((--count)==0) notify();
    }
    在每个线程结束的时候调用主线程的forNitify()方法
      

  2.   

       //悬挂主线程
                Thread mythread=Thread.currentThread();
                mythread.suspend();
      

  3.   

    suspend() was deprecated.
      

  4.   

    用join();等待子线程结束就可以了
      

  5.   

    jiangnanyuzi(江南愚子) ( ) 的方法肯定可以,至于线程的join倒是可以尝试一下!
      

  6.   

    maowu(猫呜)  那为什么suspend你不赞成 可以给我讲解一下吗?
      

  7.   

    suspend() 在1.3的版本就不支持了,不过偶对join 不了解。
      

  8.   

    suspend()在jdk1.4里面已经deprecated.
      

  9.   

    我没用jdk的 是avalon里的实现的,不知道行不?
      

  10.   

    jiangnanyuzi(江南愚子) 说的不错,用wait()/notifyAll(),但是要注意:
    1.count要用锁保护(用同步);
    2.在主线程中调用Wait()方法;
    3.在其他线程中当条件满足时,调用notifyAll();
      

  11.   

    用join()方法不是很好,问题在于你把主线程和哪个子线程进行join()呢
      

  12.   

    回楼上,和每个子线程进行join