首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在c++的SQLite中并发运行多个类似查询的简单方法是什么?

在c++的SQLite中并发运行多个类似查询的简单方法是什么?
EN

Stack Overflow用户
提问于 2021-04-09 22:55:47
回答 1查看 22关注 0票数 1

在我的程序中有很多线程,它们只是运行像"select content from table where id= xxx“这样的查询。

我最初计划提供一个带有静态sqlite3对象和静态sqlite3_stmt对象(代表查询)的db_query(int id)函数。所以所有的线程都可以调用这个函数并得到结果。

但是后来我发现sqlite3_stmt对象并不是无状态的,并且不能被许多线程使用。此外,似乎没有提供用于复制sqlite3_stmt对象的函数,因此我不能只在每个函数调用中复制准备好的语句。

有没有一种精英且易于实现的方法来解决我的问题?

EN

Stack Overflow用户

发布于 2021-04-09 23:57:30

  1. “我的程序中有很多线程”,这建议你最好重新考虑你的设计。你当前的设计将会一次又一次地给你带来麻烦。但是,使用您当前的设计:

  1. 您需要为每个查询创建一个新的sqlite3_stmt。将其从静态更改为自动,以便每次调用db_query(int id)时都会创建它。

  1. 您不能“并发”运行查询。你必须一次做一个。所以你需要用一个互斥锁来保护你的查询代码。
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67023435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档