sqlite database is locked

版权声明:转载博主原创文章,请注明文章来源地址! https://blog.csdn.net/qq_38428623/article/details/77755776

        简单的记录一下,“增删改不能同时操作sqlite,查询是支持并发”

       由于 sqlite 增删改是独占,当有一个进程执行时其他的操作提交就会出现 “database is locked”,其时就是sqlite的操作的独占的,只有查询的时候时并发的,所以用sqlite做为数据持久化时,只能保证同时不操作sqlite(除了查询),这样就不能用多线程对sqlite操作,或者说用多线程的话必须要用同步锁,保证每次只有一个增删改的操作。

       场景:

      1、不存在并发增删改的场景

      2、多线程使用同步锁保证每次执行一个

      3、增删改 操作放在MQ,同一个进程分批执行 增删改 操作

    

猜你喜欢

转载自blog.csdn.net/qq_38428623/article/details/77755776