sqlite3多线程操作问题

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

两种方式

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

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

开启wal通过如下语句

sql 复制代码
pragma synchronous=NORMAL;
pragma journal_mode=WAL;
pragma wal_autocheckpoint=5000;
相关推荐
七夜zippoe2 分钟前
DolphinDB分区策略:VALUE分区详解
数据库·oracle·分区·value·dolphindb
rKWP8gKv74 分钟前
数据库连接池选型:HikariCP与Druid的性能对比
数据库
dreamZhanglx10 分钟前
MySQL进阶
数据库·mysql
有浔则灵10 分钟前
GORM 日志与调试完全指南:从基础配置到生产实践
服务器·数据库·gorm
xmjd msup11 分钟前
MySQL 函数
数据库·mysql
PaperData42 分钟前
2003-2026.1北大法宝地方数字经济政策数据
数据库·数据分析·学习方法·经管
BU摆烂会噶1 小时前
【LangGraph】持久化实现的三大能力——人机交互
数据库·人工智能·python·langchain·人机交互
jefl jxak1 小时前
mysql用户名怎么看
数据库·mysql
unDl IONA1 小时前
mysql之如何获知版本
数据库·mysql
俺不要写代码1 小时前
数据库:约束
数据库·mysql