Files
gitea-pages/pkg/utils/locker.go
2025-01-07 17:04:39 +08:00

19 lines
265 B
Go

package utils
import "sync"
type Locker struct {
sy sync.Map
}
func NewLocker() *Locker {
return &Locker{
sy: sync.Map{},
}
}
func (l *Locker) Open(key string) *sync.Mutex {
actual, _ := l.sy.LoadOrStore(key, &sync.Mutex{})
return actual.(*sync.Mutex)
}