MemoryLock class

Lock that is used to synchronize execution within one process using shared memory.

Remember: This implementation is not suitable for synchronization of distributed processes.

Configuration parameters

  • options:
    • retry_timeout: timeout in milliseconds to retry lock acquisition. (Default: 100)

See ILock See Lock

Example

var lock = MemoryLock();
        try {
        lock.acquire("123", "key1")
            // Processing...
        } finally {
            lock.releaseLock("123", "key1",
                // Continue...

        }
    }
});
Inheritance

Constructors

MemoryLock()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

acquireLock(String? correlationId, String key, int ttl, int timeout) Future
Makes multiple attempts to acquire a lock by its key within give time interval.
inherited
configure(ConfigParams config) → void
Configures component by passing configuration parameters.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
releaseLock(String? correlationId, String key) Future
Releases the lock with the given key.
override
toString() String
A string representation of this object.
inherited
tryAcquireLock(String? correlationId, String key, int ttl) Future<bool>
Makes a single attempt to acquire a lock by its key. It returns immediately a positive or negative result.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited