example_test.go 358 B

123456789101112131415161718192021222324
  1. package lock
  2. import "sync"
  3. func ExampleNewLock() {
  4. var l = NewLock()
  5. var wg sync.WaitGroup
  6. var counter int
  7. for i := 0; i < 10; i++ {
  8. wg.Add(1)
  9. go func() {
  10. defer wg.Done()
  11. if l.Lock() == false {
  12. // log error
  13. println("lock failed")
  14. return
  15. }
  16. counter++
  17. println("current counter", counter)
  18. l.Unlock()
  19. }()
  20. }
  21. wg.Wait()
  22. }