\Imi\LockLock

Summary

Methods
Properties
Constants
getInstance()
getDefaultId()
add()
lock()
tryLock()
unlock()
isLocked()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$options
$instances
N/A

Properties

Methods

getInstance()

getInstance(string|null  $lockConfigId = null, string|null  $lockId = null) : \Imi\Lock\Handler\ILockHandler

获取锁对象

Parameters

string|null $lockConfigId
string|null $lockId

Returns

\Imi\Lock\Handler\ILockHandler

getDefaultId()

getDefaultId() : void

获取默认锁ID

add()

add(string  $id, array  $option) : void

增加配置

Parameters

string $id
array $option

lock()

lock(string|null  $id = null, callable  $taskCallable = null, callable  $afterLockCallable = null) : boolean

加锁,会挂起协程

Parameters

string|null $id
callable $taskCallable

加锁后执行的任务,可为空;如果不为空,则执行完后自动解锁

callable $afterLockCallable

当获得锁后执行的回调,只有当 $taskCallable 不为 null 时有效。该回调返回 true 则不执行 $taskCallable

Returns

boolean

tryLock()

tryLock(string|null  $id = null, callable  $taskCallable = null) : boolean

尝试获取锁

Parameters

string|null $id
callable $taskCallable

加锁后执行的任务,可为空;如果不为空,则执行完后自动解锁

Returns

boolean

unlock()

unlock(string|null  $id = null) : boolean

解锁

Parameters

string|null $id

Returns

boolean

isLocked()

isLocked(string|null  $id = null) : boolean

获取当前是否已获得锁状态

Parameters

string|null $id

Returns

boolean