根据sqlite documentation,当我们使用begin - commit
使用延迟事务时,数据库自第一次写入后就被锁定。
而且很可能这个锁存在那里直到事务被提交。所以,如果我做begin
并完成了第一次写入,并且commit
在180秒后出现,我的数据库将被锁定,直到此时为止。因此,我不能在此时从另一个线程执行写操作。
有没有什么方法可以告诉Sqlite在commit
之前没有持有锁,只有在事务中写入时才获取锁?因此,我有一些机会在该事务期间从另一个线程并发写入。或者有任何解决方案吗?
我在嵌入式环境中使用C Sqlite
库。