[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Multitasking, multi-user FreeM applications must concern themselves with conscientious management of concurrent access to globals in order to maintain logical consistency and prevent concurrent reads and writes from conflicting with each other.
In FreeM, there are two mechanisms provided for managing concurrent global access: advisory locks, and transaction processing.
Advisory locks allow applications to voluntarily coordinate concurrent access to globals with the LOCK
command, and require each application to check the LOCK
status prior to accessing a global.
Transaction processing allows applications to delineate sets of global operations (sets, kills, etc.) as being part of a transaction, in which no operations are performed against the globals contained within the transaction until the transaction is committed. In addition, processes other than the one running the transaction will be forced to wait to access globals for either the duration of the commit phase (batch mode), or for the entire duration of the transaction (serial mode).
This document was generated on May 5, 2025 using texi2html 5.0.