func (l *lockCtr) count() int32 {
	return atomic.LoadInt32(&l.waiters)
}
count gets the current number of waiters
package locker
import (
	"errors"
	"sync"
	"sync/atomic"
)
var ErrNoSuchLock = errors.New("no such lock")
type Locker struct {
	mu    sync.Mutex
	locks map[string]*lockCtr
}
type lockCtr struct {
	mu sync.Mutex
	waiters int32
}
func (l *lockCtr) inc() {
	atomic.AddInt32(&l.waiters, 1)
}
func (l *lockCtr) dec() {
	atomic.AddInt32(&l.waiters, -1)
}