我有两个脚本,一个在python中,一个在C ++中,用于在SQLite的同一表中读写。
我有两个有关如何处理并发的问题:
在编写过程中,如果表当前处于繁忙状态(正在编写其他内容),则C ++中的sqlite_exec()
返回错误代码(5)。看起来在python中这是不可用的,所以我想知道:在写另一个脚本的同时,python commit()
会发生什么?在C ++中,它将继续其操作。有没有办法知道commit()不能按预期工作?
在C ++中,我(效率极低)的解决方法是继续检查sqlite_exec()
的结果,如果返回5(忙),我再次写。有没有一种更有效的方法可以避免在UPDATE返回正确结果之前在循环中检查结果?