>If I have understood correctly, all applications will be able to read >the sqlite database at the same time, but there will be only one thread >(one thread of one application) who will write at the same time (in WAL >mode).
There will be only one *connection* that can write at a time. This will correspond to a single process, but not necessarily a single thread within that process. Mulithreaded access on a connection must be serialized (or will be automatically, unless you defeat the automatic thread seialization), but the transaction applies to the connection and is not linked to the processID or threadID. --- Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. Sometimes theory and practice are combined: nothing works and no one knows why.