sqlite database is locked

        簡單的記錄一下,“增刪改不能同時操作sqlite,查詢是支持併發”

       由於 sqlite 增刪改是獨佔,當有一個進程執行時其他的操作提交就會出現 “database is locked”,其時就是sqlite的操作的獨佔的,只有查詢的時候時併發的,所以用sqlite做爲數據持久化時,只能保證同時不操作sqlite(除了查詢),這樣就不能用多線程對sqlite操作,或者說用多線程的話必須要用同步鎖,保證每次只有一個增刪改的操作。

       場景:

      1、不存在併發增刪改的場景

      2、多線程使用同步鎖保證每次執行一個

      3、增刪改 操作放在MQ,同一個進程分批執行 增刪改 操作

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章