I\'m using an SQLite database in my iPhone app. At startup, there are some database actions that I want to perform in a separate thread. (I\'m doing this mainly to minimize
Your best bet is to use GCD (Grand Central Dispatch) queues to prevent simultaneous access to the sqlite database.
Using any form of locking (including file locking that would be used by multiple database instances) may cause busy waiting which is wasteful.
See my answer to a similar question.