Documentation ¶
Overview ¶
包gmlock实现了一个基于内存的并发安全锁。 md5:46d1d349c220f670
Index ¶
- func X写锁定(名称 string)
- func X写锁定_函数(名称 string, 回调函数 func())
- func X删除锁(名称 string)
- func X读锁定(名称 string)
- func X读锁定_函数(名称 string, 回调函数 func())
- func X退出写锁定(名称 string)
- func X退出读锁定(名称 string)
- func X非阻塞写锁定(名称 string) bool
- func X非阻塞写锁定_函数(名称 string, 回调函数 func()) bool
- func X非阻塞读锁定(名称 string) bool
- func X非阻塞读锁定_函数(名称 string, 回调函数 func()) bool
- type Locker
- func (l *Locker) X写锁定(名称 string)
- func (l *Locker) X写锁定_函数(名称 string, 回调函数 func())
- func (l *Locker) X删除锁(名称 string)
- func (l *Locker) X移除所有锁()
- func (l *Locker) X读锁定(名称 string)
- func (l *Locker) X读锁定_函数(名称 string, 回调函数 func())
- func (l *Locker) X退出写锁定(名称 string)
- func (l *Locker) X退出读锁定(名称 string)
- func (l *Locker) X非阻塞写锁定(名称 string) bool
- func (l *Locker) X非阻塞写锁定_函数(名称 string, 回调函数 func()) bool
- func (l *Locker) X非阻塞读锁定(名称 string) bool
- func (l *Locker) X非阻塞读锁定_函数(名称 string, 回调函数 func()) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func X写锁定 ¶
func X写锁定(名称 string)
X写锁定 以写锁方式锁定 `key`。 如果有写锁或读锁正在锁定 `key`, 它将阻塞直到锁被释放。 md5:8dcc0b1e059e3831
func X写锁定_函数 ¶
func X写锁定_函数(名称 string, 回调函数 func())
X写锁定_函数 使用写入锁锁定`key`,并使用回调函数`f`。如果`key`已有写入或读取锁,它将阻塞直到锁被释放。
在`f`执行后,它会释放锁。 md5:3e35c1977b58dac3
func X读锁定_函数 ¶
func X读锁定_函数(名称 string, 回调函数 func())
X读锁定_函数 使用读取锁对 `key` 进行锁定,并调用回调函数 `f`。 如果 `key` 上有写入锁,它将阻塞直到锁被释放。
在 `f` 执行完毕后,它会释放锁。 md5:e4a03ce9029d1911
func X非阻塞写锁定_函数 ¶
X非阻塞写锁定_函数 使用写锁锁定`key`并执行回调函数`f`。 如果操作成功,返回true;如果`key`已被写锁或读锁占用,则返回false。
在回调函数`f`执行完毕后,它会释放锁。 md5:a016db0c6b2bc67e
func X非阻塞读锁定 ¶
X非阻塞读锁定 尝试使用读取锁对 `key` 进行加锁。 如果成功,则返回true;如果 `key` 上存在写入锁,则返回false。 md5:8733aa161c104b87
func X非阻塞读锁定_函数 ¶
X非阻塞读锁定_函数 使用读取锁尝试锁定`key`,并调用回调函数`f`。 如果成功,它返回true;如果`key`已有写入锁,则返回false。
在`f`执行完毕后释放锁。 md5:527ef8bb470bd8fd
Types ¶
type Locker ¶
type Locker struct {
// contains filtered or unexported fields
}
Locker 是一个基于内存的锁。 注意,Lockers 中的 mutex 没有缓存过期机制。 当你不再需要使用某个锁时,需要手动删除它。 md5:330f85347bba3cc8
func (*Locker) X写锁定_函数 ¶
X写锁定_函数 使用写入锁锁定`key`,并使用回调函数`f`。 如果`key`已有写入或读取锁,它将阻塞直到锁被释放。
在执行完`f`后,它会释放锁。 md5:fc66c542fa813208
func (*Locker) X读锁定_函数 ¶
X读锁定_函数 使用读取锁对`key`进行加锁,并执行回调函数`f`。 如果`key`已被写入锁锁定, 则会阻塞直到该锁被释放。
在`f`执行完毕后,它将释放锁。 md5:3f30fb5d911cd5e7
func (*Locker) X非阻塞写锁定 ¶
X非阻塞写锁定尝试使用写入锁锁定`key`,如果成功返回true,如果`key`已经有写入或读取锁则返回false。 md5:1e86a7888ed1621a
func (*Locker) X非阻塞写锁定_函数 ¶
X非阻塞写锁定_函数 使用写锁锁定`key`并执行回调函数`f`。 如果操作成功,返回true;如果`key`已被写锁或读锁占用,则返回false。
在回调函数`f`执行完毕后,它会释放锁。 md5:a016db0c6b2bc67e
func (*Locker) X非阻塞读锁定 ¶
X非阻塞读锁定 尝试使用读取锁对 `key` 进行加锁。 如果成功,则返回true;如果 `key` 上存在写入锁,则返回false。 md5:8733aa161c104b87
func (*Locker) X非阻塞读锁定_函数 ¶
X非阻塞读锁定_函数 使用读取锁尝试锁定`key`,并调用回调函数`f`。 如果成功,它返回true;如果`key`已有写入锁,则返回false。
在`f`执行完毕后释放锁。 md5:527ef8bb470bd8fd