论DATASNAP中间件对象池
在此,笔者以DATASNAP为例,其它中间件以此类推。
中间件为什么要使用对象池?
对象池——让所有的对象免堕轮回之苦,对象不再为其生和死而烦恼。
要想让中间件长久稳定地运行,做到无人值守,对象池很重要,对象池大致分为以下几类。
1)线程池,DATASNAP使用INDY10作为其通讯控件,其线程池实际上就是使用INDY10的,只是DATASNAP在其基础上再封装了一层壳罢了,留给我们的只需要设置相关控件的属性即可,在些不多说;
2)服务对象池,DATASNAP向导会生成一个ServerMethodsUnit1.pas单元,该单元中有一个类:TServerMethods1,它就是中间件服务对象,该类PUBLIC里面的方法就是将要为客户端提供服务的远程服务方法。
3)数据模块池,这个池有点特殊,它本身是一个大的对象集容器池,在数据模块窗体上放有数据库连接对象、数据集对象、巢状对象,因此数据模块池=数据库连接池+数据集对象池+巢状对象池等其它对象池。对于这个池大家可能有争议,为什么不搞成几个独立的池:数据库连接池、数据集对象池、巢状对象池等?答案就是:省事。做成一个池既然可以做到很多个池的效果,那就一个池好了。
当然还可以有其它的对象池,在此略过。
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/4349186.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)