sqlite3 multithreading no objetivo c

Estou executando um thread de segundo plano em meu aplicativo com dispatch_async e algumas vezes meu thread principal e thread em segundo plano acessam o banco de dados ao mesmo tempo e isso estava me dando um erro de banco de dados e tentei resolvê-lo usando sqlite3_threadsafe () que estava sempre retornando 2 ou seja, eu não posso usar a mesma conexão de banco de dados em dois segmentos e eu quero que ele retorne 1 alguém pode me ajudar a este respeito

questionAnswers(2)

yourAnswerToTheQuestion