Help us shape the future of Go! Take the 2026 Go Developer Survey

concurrency

package
v1.46.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2026 License: BSD-2-Clause Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Semaphore

type Semaphore struct {
	// contains filtered or unexported fields
}

Semaphore provides a reusable mechanism for controlling concurrent access to a resource.

func NewSemaphore

func NewSemaphore(limit int) *Semaphore

NewSemaphore creates a new semaphore with the specified concurrency limit.

func (*Semaphore) Acquire

func (s *Semaphore) Acquire()

Acquire acquires a semaphore permit. Blocks if no permits are available.

func (*Semaphore) Execute

func (s *Semaphore) Execute(fn func())

Execute runs the provided function within the semaphore's permit. Automatically acquires a permit before executing the function and releases it afterward.

func (*Semaphore) Release

func (s *Semaphore) Release()

Release releases a semaphore permit.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL