内置方法普通加锁

This commit is contained in:
白茶清欢 2021-02-24 18:47:03 +08:00
parent ac4276544d
commit a9768f5aa3
2 changed files with 55 additions and 0 deletions

15
easylock/abstruct.go Normal file
View File

@ -0,0 +1,15 @@
// Package easylock...
//
// Description : easylock...
//
// Author : go_developer@163.com<张德满>
//
// Date : 2021-02-24 6:29 下午
package easylock
type EasyLock interface {
Lock() error
Unlock() error
RLock() error
RUnlock() error
}

40
easylock/lock.go Normal file
View File

@ -0,0 +1,40 @@
// Package easylock...
//
// Description : 包装各种姿势的锁
//
// Author : go_developer@163.com<张德满>
//
// Date : 2021-02-24 6:26 下午
package easylock
import "sync"
func NewLock() EasyLock {
return &lock{
sc: &sync.RWMutex{},
}
}
type lock struct {
sc *sync.RWMutex
}
func (l *lock) Lock() error {
l.sc.Lock()
return nil
}
func (l *lock) Unlock() error {
l.sc.Unlock()
return nil
}
func (l *lock) RLock() error {
l.sc.RLock()
return nil
}
func (l *lock) RUnlock() error {
l.sc.Unlock()
return nil
}