mirror of
https://github.com/charlienet/go-mixed.git
synced 2025-07-17 16:12:42 +08:00
27 lines
309 B
Go
27 lines
309 B
Go
package locker
|
|
|
|
import "sync"
|
|
|
|
type locker interface {
|
|
Lock()
|
|
Unlock()
|
|
TryLock() bool
|
|
}
|
|
|
|
type rwLocker interface {
|
|
Lock()
|
|
Unlock()
|
|
TryLock() bool
|
|
RLock()
|
|
RUnlock()
|
|
TryRLock() bool
|
|
}
|
|
|
|
func NewLocker() *sync.Mutex {
|
|
return &sync.Mutex{}
|
|
}
|
|
|
|
func NewRWLocker() *sync.RWMutex {
|
|
return &sync.RWMutex{}
|
|
}
|