日期:2014-05-20  浏览次数:20732 次

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

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