MemoryLock class Null safety

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. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

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 non-existent 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