我需要启动10000个线程,每隔100ms启动一个,如何实现?我是个新手,请大家帮忙线程

解决方案 »

  1.   

    java的线程跟本不知道什么时候会启动,最多是隔100ms执行下start()。
      

  2.   

    对,就是每隔100ms start()一下。可以用sleep这样写吗
        public static void main(String[] args) {
            for(int i = 1; i <= 300; i++) {
                AlarmThread at = new AlarmThread();
                at.setName("AlarmThread-"+i);
                at.start();
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
      

  3.   


    private static volatile  AtomicInteger number = new AtomicInteger();//原子操作线程安全
    public static void main(String[] args) {
    final Timer threadStartTask = new Timer();
    threadStartTask.schedule(new TimerTask() {

    public void run() {
    //由于第一次number.getAndIncrement()返回0所以最后为9999
    if(number.getAndIncrement()>9999){
    threadStartTask.cancel();//取消任务
    return;
    }
    System.out.println("第"+number.get()+"线程准备启动");
    new Thread().start();// 启动线程任务

    }
    }, 1000, 100);//1秒后执行,每隔100ms
    }既安全有高效率的实现。