Hacker News new | ask | show | jobs
by sa46 237 days ago
Why not use the standard-library adjacent semaphore package?

One problem with using a channel as a semaphore is you need to track if you've closed the channel when "releasing".

https://pkg.go.dev/golang.org/x/sync/semaphore#Weighted.Acqu...

2 comments

> is you need to track if you've closed the channel

There is where you can use a function that captures the channel and guarantees that no matter how many times it is called that it only closes the channel once.

I don’t like libs