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;
相关推荐
山岚的运维笔记2 分钟前
SQL Server笔记 -- 第80章:分页
java·数据库·笔记·sql·microsoft·sqlserver
zhangyueping838518 分钟前
6、MYSQL-多表联合查询
数据库·sql·mysql
一个响当当的名号18 分钟前
lecture18 多版本并发控制
数据库·oracle
qq_4542450331 分钟前
GraphMindStudio 数据操作层解析:基于 SQLite 的封装与自动化存储
sqlite·c#
Volunteer Technology38 分钟前
Oracle高级部分(子程序)
数据库·oracle
..过云雨1 小时前
【MySQL】1. MySQL安装
数据库·mysql
紫微AI1 小时前
文件系统就是新的数据库:我是如何为 AI Agent 构建个人操作系统的
数据库·人工智能
小红卒1 小时前
Redis数据库四种getshell方法研究
数据库·redis·网络安全
Coder_Boy_1 小时前
技术交流总结:分布式、数据库、Spring及SpringBoot核心知识点梳理
数据库·spring boot·分布式·spring·微服务
专注VB编程开发20年1 小时前
单服务器的 IIS + ASP.NET页面来说不需要redis
数据库·redis·缓存