Go's threading primitives are not unmatched. You can do the same in Rust [1], but the gold standard in my eyes is STM in Haskell which allows you to block on arbitrary conditions.
[1] https://doc.rust-lang.org/std/macro.select!.html#examples
[1] https://doc.rust-lang.org/std/macro.select!.html#examples
No comments yet.