SQLite 高并发写入 是不是用这个SqlWith.UpdLock 就能解决? 还有默认阻塞超时如何设置 返回

SqlSugar 老数据
1 2349
该叫什么 John 发布于2019/7/3
悬赏:5 飞吻

SQLite库级锁简介和“database is locked”异常的解决方法 是不是使用作者提供的SqlWith.UpdLock 就可以

描述

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
 SQLite允许多个进程/线程同时进行读操作,但在同一时刻只允许一个线程进行写操作。
  SQLite在进行写操作时,数据库文件会被锁定,此时任何其他的读/写操作都会被阻塞,
   如果阻塞超过5秒钟(默认是5秒,可通过重新编译SQLite进行修改), 就会抛出描述为“database is locked”的异常

作者提供的锁

var t8 = db.Insertable(insertObj).With(SqlWith.UpdLock).ExecuteCommand();


热忱回答1

  • John John VIP0
    2019/7/5

    加锁 顺利写入数据库


    lock (lockObj)

    {

                

    }


    0 回复