// package safe_bool -- потокобезопасный булевый признак package safe_bool import ( "sync" . "wartank/kernel/kernel_types" ) // безопБул -- потокобезопасный булевый признак type безопБул struct { знач bool блок sync.RWMutex } // НовБезопБул -- возвращает новый потокобезопасный булевый признак func НовБезопБул_() ИБезопБул { сам := &безопБул{} _ = ИБезопБул(сам) return сам } // Получ -- возвращает хранимый булевый признак func (сам *безопБул) Получ() bool { сам.блок.RLock() defer сам.блок.RUnlock() return сам.знач } // Уст -- устанавливает булевый признак func (сам *безопБул) Уст() { сам.блок.Lock() defer сам.блок.Unlock() сам.знач = true } // Сброс -- сбрасывает булевый признак func (сам *безопБул) Сброс() { сам.блок.Lock() defer сам.блок.Unlock() сам.знач = false }