Skip to content

moosh103/go-lock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

实现常见的几种锁

自旋锁

基本原理

使用CAS技术实现sync.Locker接口。

调用接口

// 创建锁
func NewSpinLock() sync.Locker
// 申请锁
func (sl *spinLock) Lock()
// 释放锁
func (sl *spinLock) Unlock() 

可重入锁

基本原理

sync.Mutex基础上,增加计数器和拥有者信息。

调用接口

// 创建锁
func NewRecursiveLock() sync.Locker
// 申请锁
func (sl *recursiveLock) Lock()
// 释放锁
func (sl *recursiveLock) Unlock() 

About

golang几种lock的实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages