From 3292b9cf09c1899e3517090a373333103d379ef0 Mon Sep 17 00:00:00 2001 From: shanqiang Date: Tue, 18 May 2021 21:36:32 +0800 Subject: [PATCH 1/2] change lock type to RW lock --- orderedmap.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/orderedmap.go b/orderedmap.go index 05736bb..c64bc6b 100644 --- a/orderedmap.go +++ b/orderedmap.go @@ -25,7 +25,7 @@ import ( // OrderedMap represents an associative array or map abstract data type. type OrderedMap struct { // mu Mutex protects data structures below. - mu sync.Mutex + mu sync.RWMutex // keys is the Set list of keys. keys []interface{} @@ -60,8 +60,8 @@ func (m *OrderedMap) Put(key interface{}, value interface{}) { // Get returns the value of a key from the OrderedMap. func (m *OrderedMap) Get(key interface{}) (value interface{}, found bool) { - m.mu.Lock() - defer m.mu.Unlock() + m.mu.RLock() + defer m.mu.RUnlock() value, found = m.store[key] return value, found From d2a0a32eb213489694bceec5cd38e5ae38cc44b8 Mon Sep 17 00:00:00 2001 From: shanqiang Date: Wed, 19 May 2021 14:31:05 +0800 Subject: [PATCH 2/2] change lock type to RW lock --- go.mod | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 61ae965..feea5cd 100644 --- a/go.mod +++ b/go.mod @@ -1 +1,3 @@ -module github.com/goombaio/orderedmap +module github.com/shiyuleixia/orderedmap + +go 1.15