基于 net 并行库写的对象池

基于 net 并行库写的对象池

ID:10748802

大小:82.50 KB

页数:11页

时间:2018-07-08

基于 net 并行库写的对象池_第1页
基于 net 并行库写的对象池_第2页
基于 net 并行库写的对象池_第3页
基于 net 并行库写的对象池_第4页
基于 net 并行库写的对象池_第5页
资源描述:

《基于 net 并行库写的对象池》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于.NET并行库写的对象池ObjectPoolBase类,大家不用去了解TObjectPool,TObjectPoolDomain,TObjectDomain三个泛型参数,改成一个TObject也可以使用。其构造中的四个参数分别代表:minSize:池中最少个数maxSize:池中最大个数growSize:增长/回收个数maintenanceMilliseconds:维护间隔运行机制:在BorrowObject时,如果可以在FREES中取得对象则返回,如果获取失败,则当池中对象个数小于最大个数时,创建对象,否则等待对象返还并重试。当使用完对象时可通过ReturnObject返还对

2、象,对象池在指定的maintenanceMilliseconds的间隔内会维护池子的大小,可重载对象池的OnCreateObject创建对象,OnDestroyObject销毁对象,OnActiveObject激活对象和OnDeactivate使对象进入休眠,可使用USING语句在跳出代码块是自动返还对象。using(varpo=ObjectPool.GetPoolPoolObject()){  po.Object.xxx();  ....}具体代码如下:publicabstractclassObjectPoolBase

3、TObject,TObjectDomain>whereTObjectPool:ObjectPoolBasewhereTObject:class{staticObjectPoolBase(){Instance=ContainerManager.Resolve();ObjectPoolManager.Instance.RegisterObjectPool

4、ject,TObjectDomain>(Instance);}http://www.027hpit.compublicstaticTObjectPoolInstance{get;privateset;}publicstaticIPoolObjectGetPoolObject(){returnnewInternalPoolObject();}privateConcurrentBagfrees;privateConcurrentDictionaryborrowed;privatelongcount;privateintmi

5、nSize;privateintgrowSize;privateintmaxSize;privatelongmaintenanceMilliseconds;privateTimermaintenanceTimer;privateAutoResetEventare;privatevolatileboolexit;protectedObjectPoolBase(intminSize,intgrowSize,intmaintenanceMillseconds):this(minSize,int.MaxValue,growSize,maintenanceMillseconds){}publ

6、icObjectPoolBase(intminSize,intmaxSize,intgrowSize,intmaintenanceMillseconds){CheckUtility.ArgumentPositiveNumber(minSize,"minSize");CheckUtility.ArgumentPositiveNumber(growSize,"growSize");CheckUtility.ArgumentPositiveNumber(maintenanceMillseconds,"maintenanceMillseconds");CheckUtility.Argume

7、ntGreaterThanArgument(minSize,"minSize",maxSize,"maxSize");this.minSize=minSize;this.growSize=growSize;this.maxSize=maxSize;this.maintenanceMilliseconds=maintenanceMillseconds;this.frees=newConcurrentBag();http://www.027hpit.co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。