1. 数据库是什么时候打开的?
在实例化queue时就打开了
2. FMDB操作多线程是如何实现的?
是使用GCD的串行对列来实现多线程处理的
3. FMDB的数据库操作,FMDatabaseQueue默认是在主线程上
4. FMDB的多线程操作方式:
串行队列 - 保证队列中的任务按照顺序派发,调度
同步任务 - 不会开启线程,任务顺序执行
FMDB本质上可以允许在后台线程执行数据操作,但是要求所有的数据操作,必须顺序执行!
多线程:串行队列,异步任务,开启一条线程,所有任务顺序执行!
如果也要让FMDB具有多线程功能,需要自己开启一个并发队列,让所有数据操作由并发队列调度
5. 在使用FMDB时,一定不要嵌套任务使用,否则会死锁!本质上是为了保证数据安全!