`
ta8210
  • 浏览: 14935 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

高效的数据库连接池 补充说明以及升级说明

阅读更多

本文是继4个月前发布的<如何编写出高效的数据库连接池(附带完整代码C#和Java实现) >的补充说明以及升级说明
该文章的地址为:http://blog.csdn.net/ta8210/archive/2007/04/24/1582162.aspx

由于当时写文章有点匆忙所以遗漏了如何使用这个连接池的代码,在这里我先对大家说声对不起.另外本文还要介绍对4个月前写的连接池一个小的升级版本.在 1.0(4个月前发布的版本)

当前版本为1.2

由于个人机器原因1.0版本的C#代码已经不存在,目前个版本连接池代码存在情况如下:1.0(java),1.2(java,c#)

BUG:

现象:如果用户在启动服务之后就立即申请连接可能引发连接池资源以消尽的异常.
原因:这个异常的引发是因为,由于1.0版本中使用的是异步方式启动服务所以,在成功调用启动方法之后并不是表示连接池中就已经拥有了连接资源.所以当在用户启动服务之后立即就申请资源时由于创建线程还没有创建出连接所以在此时申请连接会引发该异常.

现象:在启动服务后立即停止服务,可能产生类似死锁的现象.
原因:由于在启动服务之后,创建线程,检测线程随之启动,同时又终止了服务,这个时候创建线程检测线程刚刚要进入活动状态.这个时候就调用了停止服务,所以可能在调用停止方法时候使用到了同一个对象,而该对象恰恰是被同步保护的.故而产生死锁现象.

功能的新增:

1.增加了启动方法的同步调用.纠正了上述2个Bug.

另外提示使用者,由于连接池中的线程是前台线程,所以请确保在不使用连接池时调用连接池的销毁方法来完全释放资源.

2007-08-16 (赵永春)

2008-09-25日追加更新 SVN地址,在使用SVN时可能需要你输入帐号密码,请在svnhost中注册一个帐号在下载源码。

分享到:
评论

相关推荐

    C#高效数据库连接池源码

    自定义数据库连接池需要考虑的关键点包括连接的初始化、分配、回收以及超时管理。在C#中,可以使用`System.Data.Common.DbConnection`作为基类,创建自定义的数据库连接类,然后在此基础上实现连接池逻辑。 4. **...

    数据库连接池技术详解

    对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。 在较为完备的数据库连接池实现中,可根据...

    C# 数据库连接池 C# 数据库连接池

    本文将深入探讨C#中数据库连接池的工作原理、实现方式以及最佳实践。 ### 数据库连接池的工作机制 1. **初始化**:当应用程序首次请求数据库连接时,连接池会创建一定数量的初始连接,这些连接保持空闲状态以备...

    常用jdbc数据库连接jar包,数据库连接池jar包

    本资源集合了常用的JDBC数据库连接jar包,以及一些知名的数据库连接池实现,如dbcp和c3p0,这对于开发人员来说是非常宝贵的资源。 首先,让我们了解一下JDBC。JDBC提供了一套标准的API,包括接口和类,使得开发者...

    Java jdbc数据库连接池总结

    在实际应用中,连接池技术可以和其它技术结合使用,例如,J2EE 的 EJB 技术可以和连接池技术结合使用,实现高效的数据库访问。 在使用连接池技术时,需要注意以下几个问题: 1. 并发问题:为了使连接管理服务具有...

    03-数据库连接池驱动_数据库连接池;驱动_

    在实际应用中,选择合适的数据库连接池驱动应考虑以下因素:应用的规模、性能需求、监控需求以及团队对特定库的熟悉程度。C3P0适合对性能要求较高且需要精细配置的场景,Druid则适用于需要强大监控和扩展功能的企业...

    c# mysql数据库连接池实现

    在.NET Core 2.1框架下,可以使用.NET Standard库来实现高效、优化的数据库连接管理,特别是通过连接池来提高性能。本文将深入探讨如何在C#中使用MySQL数据库连接池。 首先,我们需要了解什么是数据库连接池。...

    C# 数据库连接池

    本文将详细介绍C#中数据库连接池的工作原理、优点以及如何在实际项目中应用。 首先,我们来理解数据库连接池的基本概念。数据库连接池是一组预先初始化的数据库连接,当程序需要与数据库建立连接时,可以从池中获取...

    配置数据库连接池

    在给定的标题“配置数据库连接池”中,我们可以深入探讨数据库连接池的概念、工作原理,以及如何配置Oracle9i和MySQL的连接池。 数据库连接池的基本思想是预先创建并维护一定数量的数据库连接,当应用需要与数据库...

    Qt 多线程连接数据库——数据库连接池

    * 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接...

    补充 数据库连接池.ppt

    【数据库连接池】是软件开发中用于管理数据库连接的一种技术,旨在提高数据库操作的效率和资源利用率。在传统的JDBC数据库编程中,每个数据库操作都需要建立、使用和关闭数据库连接,这种模式存在明显的性能瓶颈和...

    数据库连接池配置文件

    context.xml, 数据库连接池配置文

    delphi数据库连接池

    Delphi数据库连接池是一种高效的数据库资源管理技术,它允许应用程序在多用户环境下共享数据库连接,以提高性能并减少系统资源的消耗。连接池的核心思想是重用已建立的数据库连接,而不是每次需要时都创建新的连接,...

    数据库连接池java代码实现

    数据库连接池在Java中的实现是提高应用程序性能的关键技术之一,它通过复用已存在的数据库连接,避免了频繁创建和销毁连接导致...在实际项目中,结合已有的成熟连接池框架,我们可以构建更加高效和可靠的数据库访问层。

    delphi实现数据库连接池

    下面我们将详细探讨如何在Delphi中实现数据库连接池,以及其核心概念和优势。 数据库连接池(Database Connection Pool)是预先在内存中创建一定数量的数据库连接,当应用程序需要时,可以从池中获取一个已存在的...

    JAVA数据库连接池

    在使用C3P0或DBCP时,我们需要配置相关的属性文件,如c3p0-config.xml或dbcp.properties,这些文件中包含了数据库连接信息以及连接池的配置参数。例如,设置初始连接数、最大连接数、超时时间等。同时,还需要在代码...

    JAVA 完整的数据库连接池实现

    总结,Java 完整的数据库连接池实现涉及到选择合适的连接池实现、配置参数、初始化连接池以及在代码中正确地获取和释放连接。理解这些概念和步骤对于优化 Java 应用程序的数据库性能至关重要。通过合理配置和使用...

Global site tag (gtag.js) - Google Analytics