在 iOS 上为 sqlite 使用多个阅读器时,我得到了 exc_bad_access。数据库上启用了 WAL 并且 sqlite3_threadsafety 返回 2 所以这应该不是问题。
我使用的代码在大多数情况下对于 100k+ 用户都可以正常工作,但是有某些多线程竞争条件会导致 sqlite3_prepare_v2 具有 exc_bad_access。基本上,当我产生两个线程来进行一堆读取时,它会崩溃。
使用 WAL 和线程安全 sqlite,多线程应该不是问题,但无法弄清楚是什么导致了这个 exc_bad_access。
提前致谢。