If you use SQLite like me you’ll know that it is amazingly powerful, convenient, and compact. However if you have an app that needs to do a lot of database IO concurrently with SQLite you may run into the fact that it is classically single-threaded and does not give you the guarantees that are present in normal RDBMS systems. Here is a nice writeup of a few of the strategies you can use to perform SQLite reads/writes in a multithreaded app. Worth a read if you use SQLite. Link.