(2)物件池
来源:互联网 发布:淘宝电商运营什么意思 编辑:程序博客网 时间:2024/05/01 08:42
物件池比较简单 ,概念上就是重复使用闲置的无状态元件,避免反复释放/创建,实现也比较简单,就用一个TList就可以了,需要注意的有两个问题:
1、线程同步,Service肯定是多线程的(也有用进程来代替线程的),在存取TList是要用TCriticalSection或别的保护;
2、物件池大小,应该设定一个池大小限制,即池中不需要放太多闲置元件(毕竟是占内存的);物件总的数量(闲置的加忙碌的)也应该有数量限制,否则可能内存不够,当数量已经满时,如果没有闲置的物件就需要等待,直到有物件闲置下来(可以用信号量来处理)。
线程池是同样的方式。
我觉得无论物件池还是线程池都不是为了效率,物件/线程的创建耗费时间比起你的业务函数执行时间应该小得多,使用池是为了保护有限资源不要被耗尽,设定池的大小来控制资源的使用,否则系统会因为资源不足而拒绝服务或崩溃。
- (2)物件池
- 物件碰撞(OnTrigger)
- 七十二、基础框架(三十)文件操作-文件操作柄,NSFileHandle这类物件2
- 第一章 物件导论(Instroduction to Objects)
- 二、物件(又 称为 对象)
- 三十五、更多数据类型(一)初始化 物件
- 四十四、基础框架(二)数字物件
- 四十六、基础框架(四)字符串物件
- 五十一、基础框架(九)数组物件
- 六十、基础框架(十八)辞典物件
- 八十、基础框架(三十八)复制 物件
- PHP学习之小物件(widget)
- 二十二、继承(五)一种物件中每一个 都包含 另外一种物件
- 六十一、基础框架(十九)辞典物件-对 辞典物件 进行快速枚举
- C#版的My物件(新书连载)
- C#版的My物件(新书连载)
- C#版的My物件(新书连载)
- C#版的My物件(新书连载)
- 赫夫曼树与赫夫曼编码
- 中国大学生的无奈
- The Singles' Day :-)
- 企业网络视频监控解决方案
- ASP.NET Remoting程序开发入门篇
- (2)物件池
- 。iBm T43 程序组 IBM软件详解
- 计算机学习笔记--程序设计
- 【转载】动态VPN技术在证券备份网中应用
- struts2的struts.properties配置文件详解
- 为C++标准库容器写自己的内存分配程序
- treo 650
- GIS、GPS专栏
- 计算输入的字符数