我的应用程序使用一个SQLiteDatabase来管理所有数据,并由多个线程访问。
目前,我一直在将所有DB调用都同步到数据库本身上。
我这样做的原因是,偶尔我想要通过从服务器获取最新版本并从头开始重建表格来刷新表格。为了节省时间,我实际上正在创建第二个表格,然后在完成时替换原始表格(在此期间使用同步锁定它)。
问题是,如果我的SQL调用尝试在复制表时运行,则可能偶尔会出现SQL调用停顿很长时间(由于同步锁),或者会出现错误。
有没有办法在刷新时从其他操作中锁定我的数据库,但同时允许操作A、B、C等并发运行?
干杯!
目前,我一直在将所有DB调用都同步到数据库本身上。
我这样做的原因是,偶尔我想要通过从服务器获取最新版本并从头开始重建表格来刷新表格。为了节省时间,我实际上正在创建第二个表格,然后在完成时替换原始表格(在此期间使用同步锁定它)。
问题是,如果我的SQL调用尝试在复制表时运行,则可能偶尔会出现SQL调用停顿很长时间(由于同步锁),或者会出现错误。
有没有办法在刷新时从其他操作中锁定我的数据库,但同时允许操作A、B、C等并发运行?
干杯!