Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > (2)物件池
【标  题】:(2)物件池
【关键字】:
【来  源】:http://blog.csdn.net/acrodelphi/archive/2006/11/10/1378334.aspx

(2)物件池

Your Ad Here  物件池比较简单 ,概念上就是重复使用闲置的无状态元件,避免反复释放/创建,实现也比较简单,就用一个TList就可以了,需要注意的有两个问题:

1、线程同步,Service肯定是多线程的(也有用进程来代替线程的),在存取TList是要用TCriticalSection或别的保护;

2、物件池大小,应该设定一个池大小限制,即池中不需要放太多闲置元件(毕竟是占内存的);物件总的数量(闲置的加忙碌的)也应该有数量限制,否则可能内存不够,当数量已经满时,如果没有闲置的物件就需要等待,直到有物件闲置下来(可以用信号量来处理)。

线程池是同样的方式。

我觉得无论物件池还是线程池都不是为了效率,物件/线程的创建耗费时间比起你的业务函数执行时间应该小得多,使用池是为了保护有限资源不要被耗尽,设定池的大小来控制资源的使用,否则系统会因为资源不足而拒绝服务或崩溃。

(3)超时服务的终止:【上一篇】
用过NavBarControl第三方控件的朋友进:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • linux shell 常用指令收集
  • 分析包
  • MATLAB 高维数组
  • C++ Builder 使用Canvas的方法来绘制图形对象
  • Checking Server Firmware Version
  • 用RMI和CORBA进行分布式Java编程
  • MAYA人体皮肤质感插件
  • Gmail 将会集成音乐播放器(图)
  • 枚举类型的Flags标志使用的细节问题
  • C语言的灵魂-指针
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.