kubernetesk8s.io/kubernetes/pkg/util/keymutex Index | Files

package keymutex

import "k8s.io/kubernetes/pkg/util/keymutex"

Index

Types

type KeyMutex

type KeyMutex interface {
	// Acquires a lock associated with the specified ID, creates the lock if one doesn't already exist.
	LockKey(id string)

	// Releases the lock associated with the specified ID.
	// Returns an error if the specified ID doesn't exist.
	UnlockKey(id string) error
}

KeyMutex is a thread-safe interface for acquiring locks on arbitrary strings.

func NewHashed

func NewHashed(n int) KeyMutex

NewHashed returns a new instance of KeyMutex which hashes arbitrary keys to a fixed set of locks. `n` specifies number of locks, if n <= 0, we use number of cpus. Note that because it uses fixed set of locks, different keys may share same lock, so it's possible to wait on same lock.

Source Files

hashed.go keymutex.go

Version
v1.13.2
Published
Jan 9, 2019
Platform
js/wasm
Imports
4 packages
Last checked
11 minutes ago

Tools for package owners.