1234567891011121314151617181920 |
- package syncx
- import "sync"
- // A Barrier is used to facility the barrier on a resource.
- type Barrier struct {
- lock sync.Mutex
- }
- // Guard guards the given fn on the resource.
- func (b *Barrier) Guard(fn func()) {
- Guard(&b.lock, fn)
- }
- // Guard guards the given fn with lock.
- func Guard(lock sync.Locker, fn func()) {
- lock.Lock()
- defer lock.Unlock()
- fn()
- }
|