我在用Delphi开发一个多层结构系统中,服务端需要经常处理客户请求,所以要大量创建业务对象。结构如下: 客户----> 服务 ----> 创建、调用Delphi写的企业逻辑对象所以我在“服务”调用对象的时候,打算写一个对象池,让服务从对象池里取得已经创建好的对象,使用完后再放回对象池,等待下次调用。我的对象池思路是:1、创建一个TList类,作为对象池的容器;2、设置TList最大长度100(可调),并且记录100个正在使用的和未使用的Index;3、服务需要对象时,从TList里取出一个未使用的对象,使用完后恢复默认状态再标记成未使用;如果全部100个都已在使用中,则创建新对象,使用完后Free释放;以上是我的思路,虽然很简单,但我只需要满足基本的对象池功能,提高运行效率既可。本人对Delphi的对象池是初学者,想请问各位这样做是否可行,还需要什么。谢谢。
解决方案 »
- 枚举当前所有窗口后,如何得到所有类名?
- 创建BDE别名后连接时的用户名、密码是什么?
- 哪有rose下载?
- 新疆的程序员请进!
- 为什么用SQL往ACCESS中插数据总是说TABLE IS READ ONLY?
- 为什么我使用数据模块时会出现错误?请大家帮帮我!
- Error creating form:Access violation at address 40003c4c in module 'vcl50.bpl'.Read of address 4874656c.
- 简单问题,怎么才能把这个函数的返回值转换成字符串放在一edit1.text中。50分
- 怎样用delphi开发如DUMeter流量统计软件
- image1.Picture.Bitmap.LoadFromResourceID()怎么用?
- 紧急求救!!!!!
- 太可恶,这个http://www.365base.com提供的fastReport是adware.borlan病毒(散分)
很多的不可能,1个2个也许还行,多了还是用Tthreah吧。
Obj:TMyObject;
begin
Obj:=TMyObject.Create;
try
...
finally
Obj.Free;
end;
end;可以看出来在大量的用户响应情况下,要频繁创建TMyObject对象,这是非常消耗系统资源的。
所以我如果在对象池里储存若干创建好的对象,用的时候取出,用完后放回这样不用消耗创建对象过程。需要做的关键是管理好这个对象池的存取即可。另外,请问潇潇“服务共享”是什么意思,我有点不明白。谢谢。
我的多层倒和J2EE某些概念相似:客户端负责显示,服务处理用户请求,业务对象(TObject)处理业务逻辑。
本人先用的 Delphi,后用Java,现在又在用Delphi.希望大家讨论一下。
用接口不就成了?
Delphi在实现接口的时候,已经实现了对象池,
为什么不利用现成的东西?
如果不想让系统自动管理,完全可以自己控制接口的引用计数
楼主有时间可以去看看《COM原理与应用》和《Inside VCL》第6章
一说起Delphi里面的接口,有些人总以为只在COM应用的时候才有用,
其实这是一个误区,Delphi的接口起源于COM,但是并不是只限于COM应用,
接口是Delphi的一个核心功能