Patterns involving coordinating shared state between goroutines.
Ensures exclusive access to a resource by one goroutine at a time.
Controls the number of goroutines allowed to access a resource at once.