弱弱的问一个菜鸟问题(关于单态和连接池)

09-02-03 long
为什么要用连接池,我也大概了解 然后单态就是单实例,Connection的连接应该是没状态的吧,那我用单态写Connection不就行了,为什么要用连接池,搞这么多Connection出来呢?

我的问题具体是连接池是为了提供性能,在系统初始化的时候创建若干Connection,但Connection应该是无状态的,既然是这样,我只要一个Connection保存在内存中不就够了?为什么在连接池里要放好几个?用单态不就在内存中保存唯一一个Connection对象吗,如果你想说一个Connection不够,那请问为什么一个不够?

本人菜鸟 还望指点

Navidwang
2009-02-06 15:46
你的这个问题好比公共厕所(可能有点不雅,但很形象)。。。

公共厕所好比连接池,里面的蹲位好比Connection。。。

而现在上厕所的人很多,公共厕所肯定只有一个,但如果里面的蹲位也只有一个的话。。。。。。

hellohong
2009-02-07 18:17
如果Connection单例的话,则在处理事务的时候会发生很多并发问题。两个线程来读取这个Connection,由于是单例,这两个线程都取得同一个Connection,

线程1声明了一个事务的开始

接下来,线程2也声明了一个事务的开始,

那么哪个是开始呢?回退时回退到哪里呢?

猜你喜欢