dmlock

package
v0.1.9 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2021 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Lock

func Lock(key string)

Lock 对key加锁,如果key已经存在锁,则会阻塞等待锁

func LockFunc

func LockFunc(key string, f func())

LockFunc 对key加锁,并且执行方法f,执行成功自动解锁

func RLock

func RLock(key string)

RLock 都key加读锁,如果key已存在写锁,则会阻塞等待

func RLockFunc

func RLockFunc(key string, f func())

RLockFunc 对key加读锁执行方法f,执行成功自动解锁

func RUnlock

func RUnlock(key string)

RUnlock 对key进行读解锁

func Remove

func Remove(key string)

Remove 移除在key身上的锁

func TryLock

func TryLock(key string) bool

TryLock 尝试对key加锁,如果加锁成功返回true,加锁失败返回false

func TryLockFunc

func TryLockFunc(key string, f func()) bool

TryLockFunc 尝试对key加锁,如果加锁成功则执行方法f,执行成功返回true,执行失败返回false

func TryRLock

func TryRLock(key string) bool

TryRLock 尝试对key加读锁,如果加锁成功返回true,失败返回false

func TryRLockFunc

func TryRLockFunc(key string, f func()) bool

TryRLockFunc 尝试对key加读锁,如果加锁成功则执行方法f,执行成功返回true,加锁失败或执行失败都返回false

func Unlock

func Unlock(key string)

Unlock 对key解锁

Types

type Locker

type Locker struct {
	// contains filtered or unexported fields
}

Locker 内存锁,底层使用map实现

func New

func New() *Locker

func (*Locker) Clear

func (that *Locker) Clear()

Clear 清空内存锁中的所有锁

func (*Locker) Lock

func (that *Locker) Lock(key string)

Lock 对该key增加写锁

func (*Locker) LockFunc

func (that *Locker) LockFunc(key string, f func())

LockFunc 对指定的key加锁,并执行方法

func (*Locker) RLock

func (that *Locker) RLock(key string)

RLock 对该key增加读锁

func (*Locker) RLockFunc

func (that *Locker) RLockFunc(key string, f func())

RLockFunc 对指定的key加读锁,并执行方法

func (*Locker) RUnlock

func (that *Locker) RUnlock(key string)

RUnlock 对指定的key解锁

func (*Locker) Remove

func (that *Locker) Remove(key string)

Remove 移除指定key的锁

func (*Locker) TryLock

func (that *Locker) TryLock(key string) bool

TryLock 尝试对该key增加写锁,加锁成功返回true,加锁失败返回false

func (*Locker) TryLockFunc

func (that *Locker) TryLockFunc(key string, f func()) bool

TryLockFunc 尝试对指定的key加锁,加锁成功则执行f方法,如果加锁并执行成功则返回true,否则返回false

func (*Locker) TryRLock

func (that *Locker) TryRLock(key string) bool

TryRLock 尝试对该key增加读锁,加锁成功返回true,加锁失败返回false

func (*Locker) TryRLockFunc

func (that *Locker) TryRLockFunc(key string, f func()) bool

TryRLockFunc 尝试对指定的key加读锁,加锁成功则执行方法f,执行成功返回true,否则返回false

func (*Locker) Unlock

func (that *Locker) Unlock(key string)

Unlock 对该key解锁

Jump to

Keyboard shortcuts

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