现在我要从数据库中读取信息并进行处理。并且程序要定时启动比如说5分钟运行一次。没运行一次我就从数据库中读数据,每读一条要开个线程,现在每次数据库的数据不定。我想把线程总数设为10.但是数据肯定超过10条。我想用线程池。没用过以前。。大侠指点指点!!

解决方案 »

  1.   

    主线程读取数据放到buffer中,当buffer中的数据达到一定量(如30条)就等待,然后开10子线程,while(isrun){从buffer中取数据,取到了就在同步buffer中删除,处理}
    如果主线程发现没数据处理了,把子线程的变量isrun设为false;
      

  2.   

    实现java.lang.Runnable接口
    run()方法开10个线程
    如何5分钟调用一次run方法
    线程挂起!
      

  3.   

    一个buffer类,用于存储从数据库拿到的数据
    一个thead控制类,继承Observable,用于存储线程信息,设置个flg用于标示是否有空闲线程,buffer类作为观察者,如果thead控制类有空闲线程,就拿到线程跑你的处理,