# Functions
No description provided by the author
# Structs
PriorityPreferenceLock implements a simple triple-mutex priority lock patterns are like: Low Priority would do: lock lowPriorityMutex, wait for high priority groups, lock nextToAccess, lock dataMutex, unlock nextToAccess, do stuff, unlock dataMutex, unlock lowPriorityMutex High Priority would do: increment high priority waiting, lock nextToAccess, lock dataMutex, unlock nextToAccess, do stuff, unlock dataMutex, decrement high priority waiting.
UnrestrictiveWaitGroup Substitution of sync.WaitGroup that doesn't allow adding more item while the wait has started.
# Interfaces
No description provided by the author