04.webserver源码阅读--sqlConnPool
00.webserver源码阅读--buffer - DavidJIAN - 博客园 (cnblogs.com)
01.webserver源码阅读--BlockQueue - DavidJIAN - 博客园 (cnblogs.com)
02.webserver源码阅读--log - DavidJIAN - 博客园 (cnblogs.com)
03.webserver源码阅读--threadPool - DavidJIAN - 博客园 (cnblogs.com)
sqlConnPool
MySQL数据库连接池。单例模式。底层存储为queue,通过信号量和互斥量进行入队和出队。
成员变量
- max_conn
- 数据库连接池最大连接数
- use_count
- 已经使用的连接数
- free_count
- 空闲的连接数
- conn_q
- 装有MYSQL*的队列
- m_mutex
- 互斥变量
- m_sem
- 信号量
成员函数
- 构造函数
- 初始化
- 析构函数
- 调用close_pool函数
- get_instance
- 单例模式常见函数,不解释
- get_conn
- 通过m_sem进行同步,通过m_mutex上锁,从队列获取连接
- free_conn
- 用完连接,重新将连接放入队列。
- free_conn_num
- 返回可用连接数,其实就是队列中现有元素个数
- init
- 创建连接,放入队列
- 初始化信号量m_sem,初值为最大连接数
- close_pool
- 关闭队列中的所有连接

浙公网安备 33010602011771号