常见的做法是建立线程池,如果线程池满了就禁止新的连接。
线程池可以看作一个令牌库。如果要运行,就需要获取一个令牌,运行完毕退回令牌。如果令牌发光了,就禁止新的运行,等待退回的令牌。
这个和线程池相关 详见
ThreadPoolExecutor
ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueueworkQueue, ThreadFactory threadFactory)
execute(Runnable command)
在将来某个时间执行给定任务。
给出构造方法,和 执行函数
构造方法里的poolsize可以体会到吧
用工厂模式控制数量。
用线程安全控制序列。
你需要个线程锁synchronized (你想要锁的东西或者说你) { }
用线程池这一类的技术,网上有很多开源现成的东西