内存锁类

package
v0.0.0-...-fcd50c7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

包gmlock实现了一个基于内存的并发安全锁。 md5:46d1d349c220f670

Index

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)

X删除锁 删除具有给定`key`的互斥锁。 md5:a8a4db10705ecf7a

func X读锁定

func X读锁定(名称 string)

X读锁定 使用读锁锁定`key`。如果`key`上有一个写锁,它将阻塞直到写锁被释放。 md5:f45f660f368bbb78

func X读锁定_函数

func X读锁定_函数(名称 string, 回调函数 func())

X读锁定_函数 使用读取锁对 `key` 进行锁定,并调用回调函数 `f`。 如果 `key` 上有写入锁,它将阻塞直到锁被释放。

在 `f` 执行完毕后,它会释放锁。 md5:e4a03ce9029d1911

func X退出写锁定

func X退出写锁定(名称 string)

X退出写锁定 解锁对`key`的写入锁。 md5:b54a3ae386cfa500

func X退出读锁定

func X退出读锁定(名称 string)

X退出读锁定 释放对 `key` 的读取锁。 md5:d4f823abaa858783

func X非阻塞写锁定

func X非阻塞写锁定(名称 string) bool

X非阻塞写锁定 尝试对`key`加写锁,如果成功则返回true。如果`key`已有写锁或读锁,则返回false。 md5:e4f172d7beca094d

func X非阻塞写锁定_函数

func X非阻塞写锁定_函数(名称 string, 回调函数 func()) bool

X非阻塞写锁定_函数 使用写锁锁定`key`并执行回调函数`f`。 如果操作成功,返回true;如果`key`已被写锁或读锁占用,则返回false。

在回调函数`f`执行完毕后,它会释放锁。 md5:a016db0c6b2bc67e

func X非阻塞读锁定

func X非阻塞读锁定(名称 string) bool

X非阻塞读锁定 尝试使用读取锁对 `key` 进行加锁。 如果成功,则返回true;如果 `key` 上存在写入锁,则返回false。 md5:8733aa161c104b87

func X非阻塞读锁定_函数

func X非阻塞读锁定_函数(名称 string, 回调函数 func()) bool

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 X创建

func X创建() *Locker

X创建 创建并返回一个新的内存锁。 这个内存锁能够使用动态字符串键进行锁定和解锁。 md5:37aaba9921b3e711

func (*Locker) X写锁定

func (l *Locker) X写锁定(名称 string)

X写锁定 以写锁方式锁定`key`。 如果`key`已有写锁或读锁,它会阻塞直到锁被释放。 md5:7b2d56ac41ec0a40

func (*Locker) X写锁定_函数

func (l *Locker) X写锁定_函数(名称 string, 回调函数 func())

X写锁定_函数 使用写入锁锁定`key`,并使用回调函数`f`。 如果`key`已有写入或读取锁,它将阻塞直到锁被释放。

在执行完`f`后,它会释放锁。 md5:fc66c542fa813208

func (*Locker) X删除锁

func (l *Locker) X删除锁(名称 string)

X删除锁 根据给定的 `key` 从 locker 中移除互斥锁。 md5:e557087320b6a672

func (*Locker) X移除所有锁

func (l *Locker) X移除所有锁()

X移除所有锁 从 locker 中移除所有互斥锁。 md5:6e7b8ead4ad69f9d

func (*Locker) X读锁定

func (l *Locker) X读锁定(名称 string)

X读锁定 使用读锁锁定`key`。如果`key`上有一个写锁,它将阻塞直到写锁被释放。 md5:f45f660f368bbb78

func (*Locker) X读锁定_函数

func (l *Locker) X读锁定_函数(名称 string, 回调函数 func())

X读锁定_函数 使用读取锁对`key`进行加锁,并执行回调函数`f`。 如果`key`已被写入锁锁定, 则会阻塞直到该锁被释放。

在`f`执行完毕后,它将释放锁。 md5:3f30fb5d911cd5e7

func (*Locker) X退出写锁定

func (l *Locker) X退出写锁定(名称 string)

X退出写锁定 解锁对`key`的写入锁。 md5:b54a3ae386cfa500

func (*Locker) X退出读锁定

func (l *Locker) X退出读锁定(名称 string)

X退出读锁定 释放对 `key` 的读取锁。 md5:d4f823abaa858783

func (*Locker) X非阻塞写锁定

func (l *Locker) X非阻塞写锁定(名称 string) bool

X非阻塞写锁定尝试使用写入锁锁定`key`,如果成功返回true,如果`key`已经有写入或读取锁则返回false。 md5:1e86a7888ed1621a

func (*Locker) X非阻塞写锁定_函数

func (l *Locker) X非阻塞写锁定_函数(名称 string, 回调函数 func()) bool

X非阻塞写锁定_函数 使用写锁锁定`key`并执行回调函数`f`。 如果操作成功,返回true;如果`key`已被写锁或读锁占用,则返回false。

在回调函数`f`执行完毕后,它会释放锁。 md5:a016db0c6b2bc67e

func (*Locker) X非阻塞读锁定

func (l *Locker) X非阻塞读锁定(名称 string) bool

X非阻塞读锁定 尝试使用读取锁对 `key` 进行加锁。 如果成功,则返回true;如果 `key` 上存在写入锁,则返回false。 md5:8733aa161c104b87

func (*Locker) X非阻塞读锁定_函数

func (l *Locker) X非阻塞读锁定_函数(名称 string, 回调函数 func()) bool

X非阻塞读锁定_函数 使用读取锁尝试锁定`key`,并调用回调函数`f`。 如果成功,它返回true;如果`key`已有写入锁,则返回false。

在`f`执行完毕后释放锁。 md5:527ef8bb470bd8fd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL