example_test.go 383 B

123456789101112131415161718192021222324
  1. //go:build !windows && !plan9
  2. // +build !windows,!plan9
  3. package lock
  4. func ExampleNewLock() {
  5. var l = NewLock()
  6. var wg sync.WaitGroup
  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. }