https://nalar.dev/go-sync-cond-wait-rechecks-shared-state/
Go sync.Cond Wait Rechecks Shared State
Go sync.Cond coordinates state-change notifications, while Wait callers must recheck the protected predicate after each wakeup.
synccondwaitrechecksshared