À partir de sa page Wikipedia:
Ordinateur plusieurs processus ou threads peuvent accéder à la même base de données sans problèmes. Plusieurs accès en lecture peuvent être satisfaits en parallèle.
Plus précisément, à partir de sa FAQ:
Plusieurs processus peuvent avoir la même base de données en même temps. Plusieurs processus peuvent être en train de faire un SELECT en même temps. Mais un seul processus peut être apporter des modifications à la base de données à tout moment dans le temps, cependant.
Une seule écriture dans la base de données, cependant, ne verrouiller la base de données pour un court laps de temps, donc rien ne peut accéder à tous (même lecture). Les détails peuvent être trouvés dans le Fichier de Verrouillage Et de la Simultanéité Dans SQLite Version 3. Fondamentalement, la lecture de la base de données n'est pas un problème, sauf si quelqu'un veut écrire dans la base de données immédiatement. Dans ce cas, la DB est verrouillé exclusivement pour le temps qu'il faut pour exécuter la transaction et que le verrou est libéré par la suite. Cependant, les détails sont rares sur ce que fait exactement avec les opérations de lecture sur le datapase dans le temps de l'ATTENTE d'une ou verrou EXCLUSIF. Ma conjecture est qu'ils retournent SQLITE_BUSY
ou de bloquer jusqu'à ce qu'ils peuvent lire. Dans le premier cas, il ne devrait pas être trop difficile d'essayer de nouveau, surtout si vous attendez quelques écritures.