imutex.go 561 B

123456789101112131415161718
  1. package core_spec
  2. import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_base"
  3. // IMutex -- безопасный мьютекс
  4. //
  5. // 1) проверка на захват
  6. // 2) не паникует при освобождении свободного (сообщает)
  7. type IMutex interface {
  8. // Lock -- попытка захвата
  9. Lock()
  10. // Unlock -- освобождение
  11. Unlock()
  12. // IsFree -- проверка на свободу
  13. IsFree() def_spec_base.Bool
  14. // IsLock -- проверка на захват
  15. IsLock() def_spec_base.Bool
  16. }