=Concurrency Control=
BaseX provides support for multiple read and single write operations (using preclaiming and starvation-free two phase locking). This means that read : * Read transactions are executed in parallel. * If an updating transaction comes in, it will be queued and executed after all previous read transaction have been executed. * Subsequent operations (read or write) will also be queued until the updating transaction has completed.
Each database has its own queue: An update on database A will not block operations on database B. This is under the premise that it can be statically determined, i.e., before the transaction is evaluated) which databases will be accessed by a transaction (see [[#Limitations|below]]). The number of maximum parallel transactions can be adjusted with the [[Options#PARALLEL|PARALLEL]] option.