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;
相关推荐
哲Zheᗜe༘20 小时前
了解学习Redis主从复制
数据库·redis·学习
一条懒鱼66621 小时前
Redis Sentinel哨兵集群
数据库·redis·sentinel
Yeats_Liao21 小时前
Go Web 编程快速入门 10 - 数据库集成与ORM:连接池、查询优化与事务管理
前端·数据库·后端·golang
金仓拾光集1 天前
金仓数据库替代MongoDB实战:政务电子证照系统的国产化转型之路
数据库·mongodb·政务·数据库平替用金仓·金仓数据库
BullSmall1 天前
一键部署MySQL
数据库·mysql
Zhu_S W1 天前
Redis跳表:高效有序数据结构的深度剖析
数据结构·数据库·redis
جيون داد ناالام ميづ1 天前
Spring AOP核心原理分析
java·数据库·spring
无敌最俊朗@1 天前
SQLite 核心知识点讲解
jvm·数据库·oracle
小宋10211 天前
Neo4j-图数据库入门图文保姆攻略
数据库·neo4j
lang201509281 天前
Spring数据库连接控制全解析
java·数据库·spring