lock_test.go 383 B

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