我在使用fmdb读取数据并将数据写入同一数据库时遇到问题。
我的应用程序中有一些实例,其中一个类将在后台线程上将数据写入数据库,而另一个类将从主线程上的同一数据库读取数据,读取和写入过程均处理相当大的数据,例如几百个NSDictionary 。
我听说fmdb不是“线程安全的”,当我在上述情况下尝试读写时,这会使我的应用程序崩溃。我也听说过建议在同一线程上运行2个fmdb进程,以使应用程序不会崩溃。
我尝试过在两个后台线程中运行它们(使用NSInvocationOperation),但是它崩溃了,我意识到它们实际上是在单独的后台线程上运行,这导致了冲突。
所以问题是,如何使所有fmdb进程在同一后台线程上运行,以免它们使我的应用程序崩溃?
还是有其他替代方法可以处理我的SQL数据?
*很抱歉,如果我没有清楚解释,愿意澄清。
谢谢阅读!
最佳答案
FMDatabaseQueue是专门为这种情况制作的:https://github.com/ccgus/fmdb
尝试一下,如果没有用,请告诉我。
关于iphone - 在同一后台线程上运行FMDB进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7751240/