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;
相关推荐
爱丽_9 小时前
Redis 分布式锁:SET NX、过期时间、续租、可重入、Redlock 与坑
数据库·redis·分布式
IT小崔9 小时前
SqlSugar 使用教程
数据库·后端
GIS阵地10 小时前
QgsProviderMetadata 详解(基于 QGIS 3.40.13 API)
数据库·qt·arcgis·oracle·gis·开源软件·qgis
qq_3660862210 小时前
sql server OUTER APPLY使用
数据库·sql·mysql
Sunshine for you10 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
qwehjk200810 小时前
如何从Python初学者进阶为专家?
jvm·数据库·python
zzh08110 小时前
Mysql数据库备份与恢复笔记
数据库·笔记·mysql
枕布响丸辣10 小时前
MySQL 数据库备份与恢复全攻略:从基础到实战
数据库·oracle
IvorySQL10 小时前
PostgreSQL 技术日报 (3月31日)|五大内核模块补丁评审与问题修复汇总
数据库·postgresql·开源
IvorySQL10 小时前
最后 1 天!HOW 2026 早鸟票收官,赴济南解锁开源数据库未来
数据库·postgresql·开源