如题。
我需要创建100个线程,但是由于内存等的限制,我只想同时运行10个,同时运行的10个中运行完一个,就激活另外一个进去运行,怎么实现?
3q

解决方案 »

  1.   

    两个思路
    一个是设计标记位
    一个资源类,类中有一个标记位,一个方法,
    创建一个线程,方法中数值+1,数量达到10时标记为置为false,当然,这个方法一定需要加把锁。
    结束一个线程,方法中数值-1,剩下的你应该知道吧。
    另一个思路就是定义线程池的标准线程数量 ,Executors.newScheduledThreadPool(int corePoolSize); 
    建议还是第一种吧。容易理解,操作方便。