| 12345678910111213141516171819202122232425262728293031323334353637 |
- // package kernel_dict -- потокобезопасный автономный словарь
- package kernel_dict
- import (
- "sync"
- . "wartank/kernel/kernel_types"
- )
- // ЯдроСловаря -- потокобезопасный автономный словарь
- type ЯдроСловарь struct {
- dictVal map[string]interface{} // Словарь различных значений
- block sync.RWMutex
- }
- // НовЯдроСловарь -- возвращает новый потокобезопасный автономный словарь
- func НовЯдроСловарь() *ЯдроСловарь {
- sf := &ЯдроСловарь{
- dictVal: map[string]interface{}{},
- }
- _ = ИЯдроСловарь(sf)
- return sf
- }
- // Получ -- возвращает хранимое значение
- func (sf *ЯдроСловарь) Получ(key string) interface{} {
- sf.block.RLock()
- defer sf.block.RUnlock()
- return sf.dictVal[key]
- }
- // Уст -- устанавливает значение в контекст
- func (sf *ЯдроСловарь) Уст(key string, val interface{}) {
- sf.block.Lock()
- defer sf.block.Unlock()
- sf.dictVal[key] = val
- }
|