设计模式-创建型-对象池模式(ObjectPool)
参考文献
对象池模式
- 重用和共享创建成本高昂的对象。
- 当客户端请求可重用对象时,池将执行以下操作:
- 搜索可用的可重用对象,如果找到,它将返回给客户端。
- 如果没有找到可重用对象,那么它会尝试创建一个新对象。如果此操作成功,新的可重用对象将返回给客户端。
- 如果池无法创建新的可重用对象,则池将等待,直到释放可重用对象
组件
-
Reusable
(可重复使用的资源) :包装有限的资源,将由多个客户端在有限的时间内共享。 -
Client
: 使用可重用类型的实例 -
ReusablePool
: 管理供客户端使用的可重用对象,创建和管理对象池
实现注意事项
-
Limited number of resources in the pool
- 内资源数量有限
-
Handling situations when creating a new resource fails
- 创建新资源失败的处理情况
-
Syncronization
- 同步
-
Expired resources(unused but still reserved)
- 过期资源(未使用但仍保留)
使用方法
- 建议使用
Apache Common Pool2
来实现
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HoleLin's Blog!