我做了一个dbpool类,创建了一个线程池,每个线程开了一个mysql的链接,dbpool里面有请求队列,包括低级优先级查询队列,高级优先级查询队列。
那么问题来了,客户端登陆,然后服务器的业务线程提交了一个查询的sql到了dbpool的查询队列,业务层怎么等待数据库的返回?
那么问题来了,客户端登陆,然后服务器的业务线程提交了一个查询的sql到了dbpool的查询队列,业务层怎么等待数据库的返回?
解决方案 »
- 2个insert语句,同时执行,但要进入多个table,且不能用此函数last_insert_id
- mysql存储引擎 MyISAM 锁表疑惑
- mysql event 问题
- 怎么解决MySQL 中文乱码问题
- mysql安装几天后,无法连接到server,好几次了
- mysqldump 导入两个表数据到同一个sql文件,导出条件如何设置
- ERROR 1146: Table 'mydb.tb_config' doesn't exist
- Postgresql 的事务处理问题?感觉挺难!!!
- 请问mysql_fetch_fields()的返回结果需要自己释放吗?
- 初学mysql小白求救
- sql 查询 选出 除主键外,所有字段不同时为0的记录
- 同表复制字段的问题
将查询的sql封装成结构
Item{
int weight
string sql
boost::function<....> callback
}把
Item push到dbpool里面的请求队列
then how could get the result back? asynchronously? dbpool maintains a result message queue?business thread may have to be hung up in order to wait for the completion of the query. condition wait here?