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;
相关推荐
nsjqj14 分钟前
MySQL数据库:表的增删改查 [CRUD](进阶)【一】
数据库·mysql
她说..32 分钟前
Redis实现未读消息计数
java·数据库·redis·缓存
xiayehuimou41 分钟前
Redis核心技术与实战指南
数据库·redis·缓存
Yeats_Liao1 小时前
时序数据库系列(八):InfluxDB配合Grafana可视化
数据库·后端·grafana·时序数据库
就叫飞六吧2 小时前
MySQL不停机迁移完全指南
数据库·mysql
猎人everest2 小时前
Windows系统Redis(8.2.2)安装与配置完整教程
数据库·windows·redis
苦学编程的谢2 小时前
Redis_10_Zset
数据库·redis·缓存
q***42052 小时前
在Spring Boot项目中使用MySQL数据库
数据库·spring boot·mysql
我系真滴菜3 小时前
SQLiteStudio基本操作教程
数据库
她说彩礼65万3 小时前
C# Sqlite帮助类
jvm·sqlite·c#