工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆

golang 1.8 并发安全Map简单实现

XML/HTML代码
  1. type SafeMap struct {  
  2.     sync.RWMutex  
  3.     Map map[int64]string  
  4. }  
  5.   
  6. func NewSafeMap(size int) *SafeMap {  
  7.     sm :new(SafeMap)  
  8.     sm.Map = make(map[int64]string, size)  
  9.     return sm  
  10. }  
  11.   
  12. func (sm *SafeMap) ReadMap(key int64) string {  
  13.     sm.RLock()  
  14.     value :sm.Map[key]  
  15.     sm.RUnlock()  
  16.     return value  
  17. }  
  18.   
  19. func (sm *SafeMap) WriteMap(key int64, value string) {  
  20.     sm.Lock()  
  21.     sm.Map[key] = value  
  22.     sm.Unlock()  
  23. }  
  24.   
  25. // 用于for k,_ :range m.Keys(){v :m.ReadMap(k) ....}  
  26. func (sm *SafeMap) Keys() []int64 {  
  27.     sm.RLock()  
  28.     value :make([]int64, 0)  
  29.     for k, _ :range sm.Map {  
  30.         value = append(value, k)  
  31.     }  
  32.     sm.RUnlock()  
  33.     return value  
  34. }  

https://blog.csdn.net/qq_17612199/article/details/79601222

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):