请教个ADO数据库连接池设计问题

nickowen 2010-12-07 05:26:00
通常取的一个连接后.用完释放你们是如果做的?
我目前有2种方案.
1:取的连接池对象.用完把连接还给连接池.这个时候把指针外部指针复值NULL.但怕对上层这样暴露接口的话.万一程序员忘记复值NULL了,这样在多线程中一个连接对象可能被同时操作.很不安全.
2:取的连接池对象.用完把连接还给连接池,同时在连接池销毁该对象.这样保证了程序员不需要考虑外部指针复值NULL(好把,野指针就野把).解决了上面的安全问题.但如此一来.连接池又要自己创建.加大了开销.
在极限情况.即所有连接同时释放.会把连接池弄空,又要重新开起所有连接.耗时就更大了.

希望大家能给给意见,或者有更好的方案就更好了
...全文
65 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yihandrensunyong 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 nickowen 的回复:]
通常取的一个连接后.用完释放你们是如果做的?
我目前有2种方案.
1:取的连接池对象.用完把连接还给连接池.这个时候把指针外部指针复值NULL.但怕对上层这样暴露接口的话.万一程序员忘记复值NULL了,这样在多线程中一个连接对象可能被同时操作.很不安全.
2:取的连接池对象.用完把连接还给连接池,同时在连接池销毁该对象.这样保证了程序员不需要考虑外部指针复值NULL(好把,野指针就野把).解……
[/Quote]
wo yiban 是第一种

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧