Documentation
¶
Index ¶
- type MapMutex
- func (m *MapMutex) DoGlobal(do func())
- func (m *MapMutex) GetMutex(name string) *PMutex
- func (m *MapMutex) Lock(name string)
- func (m *MapMutex) LockD(d time.Duration, name string) bool
- func (m *MapMutex) LockDF(d time.Duration, name string) bool
- func (m *MapMutex) LockF(name string)
- func (m *MapMutex) Promote(name string)
- func (m *MapMutex) PromoteD(d time.Duration, name string) bool
- func (m *MapMutex) PromoteDF(d time.Duration, name string) bool
- func (m *MapMutex) PromoteF(name string)
- func (m *MapMutex) RLock(name string)
- func (m *MapMutex) RLockD(d time.Duration, name string) bool
- func (m *MapMutex) RLockDF(d time.Duration, name string) bool
- func (m *MapMutex) RLockF(name string)
- func (m *MapMutex) RTryLock(ctx context.Context, name string) bool
- func (m *MapMutex) RTryLockF(ctx context.Context, name string) bool
- func (m *MapMutex) RUnlock(name string)
- func (m *MapMutex) Reduce(name string)
- func (m *MapMutex) TryLock(ctx context.Context, name string) bool
- func (m *MapMutex) TryLockF(ctx context.Context, name string) bool
- func (m *MapMutex) TryPromote(ctx context.Context, name string) bool
- func (m *MapMutex) TryPromoteF(ctx context.Context, name string) bool
- func (m *MapMutex) Unlock(name string)
- type PMutex
- func (m *PMutex) Lock()
- func (m *PMutex) LockD(d time.Duration) bool
- func (m *PMutex) LockDF(d time.Duration) bool
- func (m *PMutex) LockF()
- func (m *PMutex) Promote()
- func (m *PMutex) PromoteD(d time.Duration) bool
- func (m *PMutex) PromoteDF(d time.Duration) bool
- func (m *PMutex) PromoteF()
- func (m *PMutex) RLock()
- func (m *PMutex) RLockD(d time.Duration) bool
- func (m *PMutex) RLockDF(d time.Duration) bool
- func (m *PMutex) RLockF()
- func (m *PMutex) RTryLock(ctx context.Context) bool
- func (m *PMutex) RTryLockF(ctx context.Context) bool
- func (m *PMutex) RUnlock()
- func (m *PMutex) Reduce()
- func (m *PMutex) TryLock(ctx context.Context) bool
- func (m *PMutex) TryLockF(ctx context.Context) bool
- func (m *PMutex) TryPromote(ctx context.Context) bool
- func (m *PMutex) TryPromoteF(ctx context.Context) bool
- func (m *PMutex) Unlock()
- type RWTMutex
- func (m *RWTMutex) Lock()
- func (m *RWTMutex) LockD(d time.Duration) bool
- func (m *RWTMutex) RLock()
- func (m *RWTMutex) RLockD(d time.Duration) bool
- func (m *RWTMutex) RTryLock(ctx context.Context) bool
- func (m *RWTMutex) RUnlock()
- func (m *RWTMutex) Reduce()
- func (m *RWTMutex) TryLock(ctx context.Context) bool
- func (m *RWTMutex) Unlock()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MapMutex ¶ added in v0.1.3
type MapMutex struct {
// contains filtered or unexported fields
}
MapMutex - Mutex is named (each name locks independently) Read Write Try Mutex with change priority (Promote and Reduce) F methods (like LockF and TryLockF) Locks mutex if mutex already locked then this methods will be first in lock queue Promote - lock mutex from RLock to Lock Reduce - lock mutex from Lock to RLock
func (*MapMutex) DoGlobal ¶ added in v0.1.3
func (m *MapMutex) DoGlobal(do func())
DoGlobal - do some action under global lock
func (*MapMutex) LockDF ¶ added in v0.1.3
LockDF - try locks mutex with time duration first (out of turn)
func (*MapMutex) PromoteD ¶ added in v0.1.3
PromoteD - try locks mutex from RLock to Lock with time duration !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
func (*MapMutex) PromoteDF ¶ added in v0.1.3
PromoteDF - try locks mutex from RLock to Lock with time duration first (out of turn) !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
func (*MapMutex) PromoteF ¶ added in v0.1.3
PromoteF - lock mutex from RLock to Lock first (out of turn)
func (*MapMutex) RLockDF ¶ added in v0.1.3
RLockDF - try read locks mutex with time duration first (out of turn)
func (*MapMutex) RTryLockF ¶ added in v0.1.3
RTryLockF - try read locks mutex with context first (out of turn)
func (*MapMutex) TryLockF ¶ added in v0.1.3
TryLockF - try locks mutex with context first (out of turn)
func (*MapMutex) TryPromote ¶ added in v0.1.3
TryPromote - try locks mutex from RLock to Lock with context !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
func (*MapMutex) TryPromoteF ¶ added in v0.1.3
TryPromoteF - try locks mutex from RLock to Lock with context first (out of turn) !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
type PMutex ¶ added in v0.1.0
type PMutex struct {
// contains filtered or unexported fields
}
PMutex - Read Write Try Mutex with change priority (Promote and Reduce) F methods (like LockF and TryLockF) Locks mutex if mutex already locked then this methods will be first in lock queue Promote - lock mutex from RLock to Lock Reduce - lock mutex from Lock to RLock
func (*PMutex) LockDF ¶ added in v0.1.0
LockDF - try locks mutex with time duration first (out of turn)
func (*PMutex) LockF ¶ added in v0.1.0
func (m *PMutex) LockF()
LockF - locks mutex first (out of turn)
func (*PMutex) Promote ¶ added in v0.1.0
func (m *PMutex) Promote()
Promote - lock mutex from RLock to Lock
func (*PMutex) PromoteD ¶ added in v0.1.0
PromoteD - try locks mutex from RLock to Lock with time duration !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
func (*PMutex) PromoteDF ¶ added in v0.1.0
PromoteDF - try locks mutex from RLock to Lock with time duration first (out of turn) !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
func (*PMutex) PromoteF ¶ added in v0.1.0
func (m *PMutex) PromoteF()
PromoteF - lock mutex from RLock to Lock first (out of turn)
func (*PMutex) RLockDF ¶ added in v0.1.0
RLockDF - try read locks mutex with time duration first (out of turn)
func (*PMutex) RLockF ¶ added in v0.1.0
func (m *PMutex) RLockF()
RLockF - read locks mutex first (out of turn)
func (*PMutex) RTryLockF ¶ added in v0.1.0
RTryLockF - try read locks mutex with context first (out of turn)
func (*PMutex) Reduce ¶ added in v0.1.0
func (m *PMutex) Reduce()
Reduce - lock mutex from Lock to RLock
func (*PMutex) TryLockF ¶ added in v0.1.0
TryLockF - try locks mutex with context first (out of turn)
func (*PMutex) TryPromote ¶ added in v0.1.0
TryPromote - try locks mutex from RLock to Lock with context !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
func (*PMutex) TryPromoteF ¶ added in v0.1.0
TryPromoteF - try locks mutex from RLock to Lock with context first (out of turn) !!! If returns false then mutex is UNLOCKED if true mutex is locked as Lock
type RWTMutex ¶
type RWTMutex struct {
// contains filtered or unexported fields
}
RWTMutex - Read Write and Try Mutex
func (*RWTMutex) Reduce ¶ added in v0.2.0
func (m *RWTMutex) Reduce()
Reduce - lock mutex from Lock to RLock