技术栈

sqlite3多线程操作问题

kgduu2023-08-14 21:07

在项目中使用sqlite3,有时会报database is locked

两种方式

1、多线程读,多线程写,只使用共同一个数据库连接,即使用同一个SQLiteHelper连接,调用sqlite3_busy_timeout

2、多线程读,单线程写,每个线程使用各自独立的数据库连接,但是需要开启wal模式,以开启数据库连接池

开启wal通过如下语句

sql 复制代码
pragma synchronous=NORMAL;
pragma journal_mode=WAL;
pragma wal_autocheckpoint=5000;
上一篇:python的virtualenv虚拟环境无法激活activate
下一篇:笙默考试管理系统-MyExamTest----codemirror(2)
相关推荐
@PHARAOH
9 分钟前
WHAT - SQLite 数据库
数据库·oracle·sqlite
四维碎片
17 分钟前
【Qt】乌班图安装Qt环境
开发语言·数据库·qt
wuyunhang123456
26 分钟前
MySQL----触发器
数据库·mysql
ptc学习者
40 分钟前
OGG 安装注意事项
java·开发语言·数据库
鸽鸽程序猿
1 小时前
【MySQL】索引
数据库·mysql
zym大哥大
1 小时前
Redis-Zest
数据库·redis·缓存
zl979899
2 小时前
Redis-stream、bitfield类型
数据库·redis·缓存
数据库那些事儿
2 小时前
Qoder + ADB Supabase :5分钟GET超火AI手办生图APP
数据库·后端
IvorySQL
2 小时前
PostgreSQL 18 异步 I/O(AIO)调优指南
数据库·postgresql
kakacc:
2 小时前
记录一次巧妙的SQL:一对多关联导致的 sum () 、count()等group函数重复计算问题
数据库·sql
热门推荐
01BongoCat - 跨平台键盘猫动画工具02两千字总结:Codex 国内如何安装和使用的教程,以及如何设置中文回答03智能库存管理的需求预测模型:从业务痛点到落地代码的完整实践04GitHub 镜像站点05UV安装并设置国内源06Linux下V2Ray安装配置指南07GitLab 零基础入门指南:从安装到项目管理全流程082025羊城杯网络安全大赛 wp09Cursor Plan Mode:AI 终于知道先想后做了10Spring Boot 实现微信登录,So Easy !