https://pr4th4m.github.io/posts/golang-idiomatic-thread-sync/