流和数据库连接这类系统资源有两个特点,一个是有限性,二独占性。
所以这类资源被占用的时间应该尽可能短,而数据库连接池这类被池化的对象还有另外一层原因,创建资源过程消耗时间或空间过多。对象的生命周期基本上都是create-->ready-->serve(maybe many time)-->destroy,对于我们来说serve的过程是最重要的,如果对象是无状态的,则可以多线程共享,如果是有状态的或者提供的数据是不可分割的(事务的),则为每个线程服务完毕之后,需要置为ready状态才可为下个线程服务。
我们需要增强的是ready-->serve这段,最坏的情况就是不能线程共享的对象要长时间的服务,假如事务的不可分割,需要长时间占用资源对象的serve时间。这就要需要协作对象之间有某种默契,谁创建谁关闭则是一种默契了,而另置一个事务控制器(通常是AOP织入)也是一种默契。前者是创建者兼任了事务控制器,有时候事务资源夸的调用太多了,那事务资源通常都会某种包装,比如创建者把资源包装起来,除了创建者本身,不能destroy资源(或者将资源重置ready状态),对于使用过Proxy模式的人来说这再熟悉不过了,Proxy原装对象,只要把close方法“挂空”。但这里有个陷阱就是创建者忘记关闭资源了,需要有个测试机制对其进行补漏,而事务控制器则不易出现这方面的缺陷。
有些手段可以缓解长时间占用系统资源(长事务)的处理过程中的资源竞争,例如:事务设计是可分段提交的,或快速失败的,或乐观锁机制,或特殊的内存锁等等手段,只要冲突不多,是种有效的减少关键资源占用手段。正所谓:以无限为有限,以无法为有法。
分享到:
相关推荐
### Fluent实例:辐射与自然对流模拟的知识点详解 #### 引言 在CFD(计算流体动力学)领域,Fluent是一款广泛使用的软件工具,尤其在处理复杂的流体力学、传热和多相流问题时表现卓越。本文通过一个具体的Fluent...
在热力学领域,对流换热是一种常见的热量传递方式,特别是在工程应用中,如冷却系统、航空航天、建筑热环境设计等。对流换热涉及到流体流动与固体表面之间的热量交换,可以是自然对流(由温度差异引起的流体运动)或...
“ UNSTEADY_CONVECTION_DIFFUSION”脚本用双线性四边形元素求解对流扩散问题的二维标量方程。 空间离散化是通过标准的Galerkin方法执行的。 对于时间积分,已经实施了 theta 方法。 根据 theta 的值,获得这些方案...
《OpenFiniteDifference:一维有限差分方法在对流扩散方程中的应用》 在计算机科学,特别是数值分析领域,解决偏微分方程(PDEs)是至关重要的任务,尤其是在模拟物理、工程和环境科学等领域。OpenFiniteDifference...
1. **对流层延迟模型**:研究论文可能会探讨各种对流层延迟模型,如VTEC(垂直总电子含量)模型、ZTD(对流层总延迟)模型和HLOP(水平延迟模型)等。这些模型通过不同的方法来估算和校正对流层对GNSS信号的延迟。 ...
在对流式太阳能散热器的设计领域,我们关注的是利用太阳的可再生能源来提供有效的热能管理解决方案。这种装置的核心理念是通过太阳光的吸收、转换和散发,实现室内或特定空间的温度调节。以下是关于这一设计装置的...
在MATLAB环境中,对流扩散方程是一种常用于模拟物理、化学及工程中涉及流动与扩散现象的偏微分方程。本主题聚焦于利用MATLAB解决一维非线性对流扩散方程,特别是采用Galerkin-Scharfetter(G-S)型迎风半隐格式的...
《对流电暖器的说明分析》 对流电暖器是现代家居中常见的取暖设备,尤其在电子行业中,其高效、安全、节能的特点使其在众多取暖产品中脱颖而出。本资料详细介绍了对流电暖器的工作原理、优势、类型以及在实际应用中...
在热分析中,对流边界条件是至关重要的,因为它涉及到物体与周围环境之间的热量交换。当一个物体的自由表面与流体接触时,热量可以通过对流方式传递,导致温度变化。这个过程可以用以下基本方程描述: \[ h(\theta)...
在面对java这门语言的时候,对于初学者来说有些高理论知识...在流这个点中,有时候有转不过思维,这是因为java中描述的是抽象概念,与我们日常的思维方式不一致造成的,我就自己对流这块的感悟与理解,分享给大家。。。
2017年4月20日晚上,龙岩市出现大雨,伴随强对流天气,如强雷电,短期强降水和6-8次雷暴。 上杭通县乡和南阳镇的三小时降雨强度和六小时降雨强度是一个世纪。 通过使用雷达,雷达风廓线和雷电定位仪数据,该过程可以...
自然对流LBM程序是一种基于Lattice Boltzmann Method(格子玻尔兹曼方法,简称LBM)的计算流体力学工具,用于模拟热对流现象。LBM是一种数值模拟技术,它在解决流体动力学问题时,通过简化玻尔兹曼方程来求解Navier-...
平流层关于通过Troposphere从xls到CloudFront。 (正在建设中-缺少文档) 用法:stratosphere.py文件-工作表工作表如果未引入工作表,则... 对流层的任何服务(使用缩写)都会创建一个对象,将其添加到模板中,并且以后
《一维线性对流方程的Lax方法解析及应用》 一维线性对流方程是数学物理中的一个重要模型,广泛应用于流体动力学、气象学、信号传播等领域。该方程通常表述为: u_t + cu_x = 0 其中,u是空间x和时间t的依赖函数,...
一维对流方程是流体力学中的基本方程之一,描述了在一维空间内物质的连续性,常用于模拟流动现象,如气体或液体的流动。在计算机科学和工程计算领域,对一维对流方程的编程求解是一项重要的技能。本项目提供了中心差...
对流层(Troposphere)是一个开源的Python库,专门设计用于构建Amazon Web Services (AWS) CloudFormation模板。CloudFormation是AWS提供的一项服务,它允许用户通过声明式的方式定义基础设施即代码(Infrastructure...
混合对流扩散问题在计算机科学和工程领域,特别是在计算流体动力学(CFD)中,是一个关键的数值模拟挑战。这一问题涉及到流体中同时存在的两种主要流动现象:对流和扩散。对流通常与流体的速度有关,是由于流体内部...