FMDB и потоки и очереди

Я играю с FMDB, которая является оболочкой базы данных для SQLite на iOS. он не поддерживает несколько потоков и предоставляет очередь, конечно, последовательную очередь, для выполнения SQL один за другим (FMDatabaseQueue),

В моем проекте я использую эту очередь (FMDatabaseQueue) для всех запросов, что обеспечивает безопасность потока.

Мой вопрос в том, что если я использую эту очередь, и, кроме того, я хочу выполнить запрос в основном потоке, это означает, что у нас есть 2 потока: основной и очередь, это сделает поток небезопасным, но я просто хочу сделать этот запрос, и не хотите ждать завершения задач в очереди (предположим, что это не проблема с данными, манипулируйте разными таблицами), как лучше всего? или я лучше воспользуюсь очередью, и у меня больше не будет выбора.


person nickyu    schedule 04.11.2013    source источник


Ответы (1)


Если вы только когда-либо читаете данные, вы можете проверить FMDatabasePool.

Если вы хотите делать что-то асинхронно - тогда вы можете кинуть свое обновление очереди внутрь блока диспетчеризации и идти своим путем.

person ccgus    schedule 04.11.2013