locker

package
v0.0.48 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package locker - система блокировки с блокировкой по списку чисел.

Может использоваться, например, при необходимости упорядочивания действий всех пользователей (пока у user1 работает какая-то операция, user2 тоже может выполнить какую-то операцию, но user1 не может ничего делать до завершения наложившей блокировку операции)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LockSystem

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

LockSystem - система блокировки на основе Mutex.

Важно создавать LockSystem с помощью NewLockSystem, чтобы были инициализированы все поля

func NewLockSystem

func NewLockSystem() *LockSystem

func (*LockSystem) Lock

func (s *LockSystem) Lock(values ...int64)

func (*LockSystem) Unlock

func (s *LockSystem) Unlock(values ...int64)

type RWLockSystem

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

RWLockSystem - система блокировки на основе RWMutex.

Важно создавать RWLockSystem с помощью NewRWLockSystem, чтобы были инициализированы все поля

func NewRWLockSystem

func NewRWLockSystem() *RWLockSystem

func (*RWLockSystem) Lock

func (s *RWLockSystem) Lock(values ...int64)

func (*RWLockSystem) RLock

func (s *RWLockSystem) RLock(values ...int64)

func (*RWLockSystem) RUnlock

func (s *RWLockSystem) RUnlock(values ...int64)

func (*RWLockSystem) Unlock

func (s *RWLockSystem) Unlock(values ...int64)

Jump to

Keyboard shortcuts

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