1.简单数据库连接池的简介:
使用等待超时模式构建一个简单的数据库连接池。
数据库连接池支持以下功能
超时等待模式
在实施数据库连接池函数之前,让我们回顾上一章的经典等待/通知。即锁定,条件流通和处理逻辑的三个步骤,但是常规的等待/通知迫不及待地等待时间,因此我们进行了一些小的更改,以进行一些更改达到等待暂停的等待/通知范式。
方法:
伪代码:
连接池代码和功能简介
连接池的初始尺寸为10,并且也可以指定大小。使用LinkedList队列进行连接池管理,将连接插入队列的尾部,然后在队列的头部获得连接。连接()/连接(长)支持普通的采集连接,而无需超时和超时等待获得。在指定时间内获得超时后,将返回连接;连接池上的线程将获得。
连接驱动程序仿真:
连接是接口。我们通过动态代理创建连接。通过TimeUnit.milliseconds.sleep(200)执行连接提交方法时;休眠线程以模拟执行交易的提交。
客户测试:
客户端使用多线程模拟来启动与数据库的多个连接,并通过获得的统计信息计算不同线程池的数量以及客户端数量,并且无法获得次数。
测试结果的统计数据:
作者CPU(AMD Ryzen 5 3600 6核处理器),内存16G。
1050050000%20100089110910.9%301500121228819.2%402000148251825.9%摘要:
随着固定数据资源的增加,随着连接数量的增加,连接故障的比率将增加。此处的超时连接的设计有助于减少在实际开发和应用程序过程中程序的阻止时间,以及当连接不可用时,避免使用服务。通过返回NULL,程序员可以对响应对容错的响应的容忍度做出响应。计量或服务降级等。