package keymutex
import "k8s.io/utils/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 ¶
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
- v0.0.0-20250321185631-1f6e0b77f77e (latest)
- Published
- Mar 21, 2025
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 1 month ago –
Tools for package owners.