池化技术
安冉冄先森
这个作者很懒,什么都没留下…
展开
-
池化技术-版本四
通过可变参数模板来解决。可变参数模板可以支持不同参数的构造函数来创建对象。版本3问题: 不支持参数不同的构造函数。原创 2022-10-25 15:24:01 · 211 阅读 · 1 评论 -
池化技术-版本三
通过自动回收用完的对象来解决。这里用智能指针就可以解决,在创建智能指针时可以指定删除 器,在删除器中不删除对象,而是将其回收到对象池中。这个过程对外界来说是看不见的,由智能指针 自己完成。使用C11 的智能指针管理对象的生存期,重写删除器,使删除器与对象池结合;1.对象如果没有归还给对象池,对象无法销毁。2.对象如果在对象池外释放,对象池无法感知。原创 2022-10-25 15:08:29 · 304 阅读 · 0 评论 -
池化技术-版本二
对象池类型中设计两个队列, 一个是空闲队列,一个是活动队列;设计一个私有方法AddObject();1)对象池中的对象没有到达上限,无法增加对象。3) 不知道借出对象的个数和空闲对象的个数;2)丢失的对象会造成内存泄漏。原创 2022-10-25 15:01:26 · 197 阅读 · 0 评论 -
池化技术-版本一
设计: 对象池类设计为模板类型, 使用queue存储池对象, 提供borrowObject(),和 returnObject() 两个接口函数。版本1: 需求:可以取得和归还池对象,池对象组织形式为先进先出 (FIFO),队列中池对象的个数要有上限, 可以管理不同类型的池对象。原创 2022-10-25 14:56:23 · 157 阅读 · 0 评论 -
池化技术-介绍
其二,也是最重要的一点,缓存中的对象是没有一个完整生命周期的概念,而对象池中的对 象是具有生命周期的,我们甚至可以对对象的生命周期施加影响。所以,对象池技术的本 质简单来说就是:将具有生命周期的结构化对象缓存到带有一定管理功能的容器中,以提高对象的访问 性能。本质上,池是在资源使用时将使用率高且可以复用的对象保存在一个类似容器的地方,对这些对象 进行复用,从而降低非必须的系统资源开销、提高程序的响应速度、改善效率。常用的池技术有:对象池, 内存池,Socket连接池、数据库连接池、线程池等。原创 2022-10-25 14:51:11 · 631 阅读 · 0 评论