我在使用 fmdb 将数据读取和写入同一数据库时遇到问题。
在我的应用程序中,有一个类会在后台线程上将数据写入数据库,而另一个类会在主线程上从同一个数据库中读取数据,读写进程都处理相当大的数据,比如几百个 NSDictionary .
我听说 fmdb 不是“线程安全的”,当我在上述场景中尝试读写时,它会使我的应用程序崩溃。我还听说过在同一线程上运行 2 个 fmdb 进程的建议,这样应用程序就不会崩溃。
我已经尝试在后台线程中运行它们(使用 NSInvocationOperation)但它崩溃了,我意识到它们实际上是在导致冲突的单独后台线程上运行。
所以问题是,我怎样才能让所有的 fmdb 进程在同一个后台线程上运行,这样它们就不会让我的应用程序崩溃?
或者有没有其他方法可以处理我的 SQL 数据?
*对不起,如果我没有解释清楚,愿意澄清。
谢谢阅读!