Package org.multiverse.api
Enum LockMode
- All Implemented Interfaces:
Serializable
,Comparable<LockMode>
,java.lang.constant.Constable
,MultiverseConstants
Using the LockMode one can control the pessimistic nature of a
Txn
.
Normally transactions are very optimistic (e.g. fail during execution or at the end because some read or
write conflict was detected), but in some cases a more pessimistic approach is better. For more information
see Lock
.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionThe ExclusiveLock can be compared with the writelock of a traditional read/write lock.No locking is done.The LockMode.Read prevents others to acquire the Write/Exclusive-lock, but it allows others to acquire the Read lock.The LockMode.Write prevents others to acquire the Read/Write/Exclusive-lock. -
Field Summary
FieldsFields inherited from interface org.multiverse.MultiverseConstants
LOCKMODE_EXCLUSIVE, LOCKMODE_NONE, LOCKMODE_READ, LOCKMODE_WRITE, SHAKE_BUGS, SPIN_YIELD, TRACING_ENABLED
-
Constructor Summary
Constructors -
Method Summary
-
Enum Constant Details
-
None
No locking is done. -
Read
The LockMode.Read prevents others to acquire the Write/Exclusive-lock, but it allows others to acquire the Read lock. Unlike a traditional read/write-lock, it doesn't have to mean that other transactions can't write, it only prevents others from committing. -
Write
The LockMode.Write prevents others to acquire the Read/Write/Exclusive-lock. Unlike a traditional read-write lock, it doesn't have to mean that other transactions can't read or write, they only can't commit since the Exclusive lock is acquired for that (managed by the STM). -
Exclusive
The ExclusiveLock can be compared with the writelock of a traditional read/write lock. once the Exclusive lock is acquired no other transaction can acquire any lock or can do any reading/writing (unless the transaction previously has read the transactional object).The ExclusiveLock is the Lock acquired by the STM once a Txn is prepared for writing changes to a TxnObject.
-
-
Field Details
-
lockModeAsInt
private int lockModeAsInt
-
-
Constructor Details
-
LockMode
private LockMode(int lockModeAsInt)
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
asInt
public int asInt()
-