Il termine "leggero", quando viene applicato al blocco e alle transazioni, viene generalmente utilizzato per indicare uno schema di blocco o transazione con un basso sovraccarico. Un sovraccarico basso significa che il computer sta masticando meno Tempo di CPU per le attività di manutenzione e passare più tempo a svolgere il proprio lavoro.
Il termine "leggero", applicato al blocco della memoria e alle transazioni, si riferisce probabilmente a Memoria transazionale del software (STM) . Alcune lingue, come Clojure, hanno incorporato STM.
Unlike the locking techniques used in most modern multithreaded
applications, STM is very optimistic: a thread completes modifications
to shared memory without regard for what other threads might be doing,
recording every read and write that it is performing in a log. Instead
of placing the onus on the writer to make sure it does not adversely
affect other operations in progress, it is placed on the reader, who
after completing an entire transaction verifies that other threads
have not concurrently made changes to memory that it accessed in the
past. This final operation, in which the changes of a transaction are
validated and, if validation is successful, made permanent, is called
a commit. A transaction may also abort at any time, causing all of its
prior changes to be rolled back or undone.
The benefit of this optimistic approach is increased concurrency: no thread needs to wait for access to a resource, and different threads can safely and simultaneously modify disjoint parts of a data structure that would normally be protected under the same lock.