Я собрал информацию из разных источников, в основном с sqlite.org, и собрал их вместе:
Во-первых, по умолчанию несколько процессов могут иметь одну и ту же базу данных SQLite, открытую одновременно, и несколько операций чтения могут выполняться параллельно.
В случае записи однократная запись в базу данных на короткое время блокирует базу данных, ничто, даже чтение, не может вообще получить доступ к файлу базы данных.
Начиная с версии 3.7.0, доступна новая опция «Write Ahead Logging» (WAL) , при которой чтение и запись могут выполняться одновременно.
По умолчанию WAL не включен. Чтобы включить WAL, обратитесь к документации SQLite.