Killing Me Softly, Or: How Goroutines Want To Exit Feb 16, 2025POSIX threads have an array of control functions, goroutines have none. When to exit is a goroutine's decision. Here's how to properly stop them from the outside.
When (not) to call package-level APIs Nov 21, 2024Package level APIs are convenient, but they aren't concurrency safe. Here is how and when to use them.
Don't Select the Default Dec 09, 2023In a select block, don't be tempted to add a default case as a "fallback" or it might turn into a busy loop.