我在我的 iOS 应用程序中使用 SQLite 3。它需要大量的读/写操作,其中许多是同时尝试的。这些函数中的大多数都在不同的线程中运行,但是访问的是同一个数据库。
以下是我想到的几种方法:
在每次数据库访问(读/写)时,我都会将标志设置为
database_open=YES
,如果发现为真,我会在几秒钟内重试。我可以把函数放在数据库层本身。在同一个线程中运行所有数据库操作。但是,我的用例是我需要等待一些 HTTP 调用完成并将检索到的数据存储到 SQLite 中。对于这种方法,我必须使所有这些服务器调用也同步。不是最好的主意。
如果我想错了方向,请提出建议。