比如有10个线程,现在需要同时运行3个线程。最初启动3个线程,3个之中任意一个执行完,启动第4个线程,依此类推,直至10个线程全部执行完毕。 请问这个该如何实现?在web里如何获得线程个数,个数有可能随时增加。

解决方案 »

  1.   

    java.util.concurrent.Executors.newFixedThreadPool(int)
      

  2.   

    哦忘了说了,,jdk是1.4  
      

  3.   

    jdk是1.4 的话把1.5里面的concurrent class作为“第3方包”引近来。
      

  4.   

    synchronized (SubThread.class) {

    int tCount = SubThread.getThreadCounts(); while (tCount >= 2) {
    try {
    SubThread.class.wait();
    } catch (InterruptedException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    }
    tCount = SubThread.getThreadCounts();
    }

    Thread td = new SubThread(sql, sumsql, path);
    td.start();

    }
    调用这个的方法有返回值,执行线程还执行原来那方法迷惑
      

  5.   

    run  里面调用一个方法,没等那方法运行呢,调用线程那边又继续执行了··阿门!~