首页 > 其他 > 详细

一个资源池模型

时间:2020-03-14 11:54:50      阅读:75      评论:0      收藏:0      [点我收藏+]

假如有N个资源(范围是0~N-1)可以重复利用,如何来管理这N个资源池?

初始化

用一个vector或数组来初始保存可用资源。

用一个set保存已经用了的资源。

headtail指示用的情况。

 技术分享图片

申请

申请一个,将head后移,将资源的id添加到useable set中,同时将vector中该位置置为invalid

以下为连续申请4个后情况。

 技术分享图片

释放

释放需要明确指出释放哪一个资源。

释放一个资源,将tail指向的位置填充释放的idtail后移。将idset中移除。

以下是先后释放32后的情况。

 技术分享图片

 

 

以上只为大概思路,边界及合理检查细节没有描述。如果释放的资源确定就是申请的资源,那么used set也可以不用创建。

一个资源池模型

原文:https://www.cnblogs.com/sunnypoem/p/12491020.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!