News for hackers. Stuff that matters.
Re:The 4-chan Go programmer by Groxx on Wednesday August 28, 2024 @11:46PM (#41387076)
Using channels where mutexes would suffice has by far been the main cause of bad concurrent code I've encountered.

Using more than 2 'semantic' channels plus one ctx.Done() channel? There's probably a bug. So far that has been well over 50% accurate, across dozens of libraries.

When they're used like this, chans often break into non-blocking algorithm details, because they don't ensure mutual exclusion. And non-blocking algorithms are freakin hard - few things are guaranteed without great care.

There are no comments on this comment yet.