Various technologies and techniques are disclosed that improve
implementation of concurrency control modes in a transactional memory
system. A transactional memory word is provided for each piece of data.
The transactional memory word includes a version number, a reader
indicator, and an exclusive writer indicator. The transactional memory
word is analyzed to determine if the particular concurrency control mode
is proper. Using the transactional memory word to help with concurrency
control allows multiple combinations of operations to be performed
against the same memory location simultaneously and/or from different
transactions. For example, a pessimistic read operation and an optimistic
read operation can be performed against the same memory location.