我目前使用单例来访问我的数据库(请参阅related question),但现在尝试添加一些背景处理时,一切都会崩溃。我阅读sqlite文档,发现sqlite可以工作线程安全,但每个线程必须有自己的数据库连接。我尝试使用egodatabase,承诺一个线程安全的sqlite包装,但是很麻烦,所以我回到我的旧FMDB库,我开始看到如何以多线程方式使用它。将连接帮助线程在sqlite中(以及如何)汇集?
因为我的所有代码都带有单例的想法,所以改变一切将会很昂贵(并且很多开放/关闭连接会变得很慢),所以我想知道是否像sqlite文档提示一样为每个连接将有所帮助。如果是这样的话,怎么样呢?如何知道从池中获取哪个连接(因为2个线程无法共享连接)?用的NSOperation或类似的东西
我不知道是否有人已经在使用SQLite多线程,我唯一的搜索返回“是的,它可能”,但让细节我的想象......