数据
空闲池
工作池
实际情况看需求,同步块,锁,线程安全的集合。
参数:
初始连接数:Min
最大连接数:Max
等待间隔:WaitInterval
最大等待:MaxWait
初始化
创建Min个连接,加入到空闲池。
获取连接
判断空闲池数量:
如果有,移入工作池,返回之。
如果没有了,判断工作池数量:
没超过Max,创建一个连接,加入到工作池中。
超过Max,看等待时长:
没超过MaxWait,延时WaitInterval,再次尝试。
超过MaxWait,抛出异常,线程忙碌。
归还连接
将连接从工作池中移动到空闲池中