semaphore

package
v2.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2020 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package semaphore provides an implementation of a counting semaphore.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Semaphore

type Semaphore chan struct{}

Semaphore is a buffered channel based implementation of a counting semaphore.

func New

func New(permits int) Semaphore

New creates a Semaphore with the specified number of permits.

func (Semaphore) Acquire

func (s Semaphore) Acquire(ctx context.Context) error

Acquire acquires a permit. This call will block until a permit is available or the provided context is completed.

If the provided context is completed, the method will return the cancellation error.

func (Semaphore) Release

func (s Semaphore) Release()

Release releases a permit.

Jump to

Keyboard shortcuts

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