123456789101112131415161718192021222324252627282930 |
- //+build !go1.9
- package concurrent
- import "sync"
- type Map struct {
- lock sync.RWMutex
- data map[interface{}]interface{}
- }
- func NewMap() *Map {
- return &Map{
- data: make(map[interface{}]interface{}, 32),
- }
- }
- func (m *Map) Load(key interface{}) (elem interface{}, found bool) {
- m.lock.RLock()
- elem, found = m.data[key]
- m.lock.RUnlock()
- return
- }
- func (m *Map) Store(key interface{}, elem interface{}) {
- m.lock.Lock()
- m.data[key] = elem
- m.lock.Unlock()
- }
|