33 lines
573 B
Go
33 lines
573 B
Go
package vqdcms
|
|
|
|
import (
|
|
"sync"
|
|
)
|
|
|
|
type VqdTaskMap struct {
|
|
M map[string]*VQDHandle // 自定义K-V的类型;
|
|
sync.RWMutex
|
|
}
|
|
|
|
// 读出相应Key的子Map
|
|
func (m *VqdTaskMap) LoadTaskMap(key string) (value *VQDHandle, ok bool) {
|
|
m.RLock()
|
|
defer m.RUnlock()
|
|
value, ok = m.M[key]
|
|
return
|
|
}
|
|
|
|
// 删除相应Key的子Map
|
|
func (m *VqdTaskMap) DeleteTaskMap(key string) {
|
|
m.Lock()
|
|
defer m.Unlock()
|
|
delete(m.M, key)
|
|
}
|
|
|
|
// 增加或修改相应Key的子Map
|
|
func (m *VqdTaskMap) StoreChildMap(key string, value *VQDHandle) {
|
|
m.Lock()
|
|
defer m.Unlock()
|
|
m.M[key] = value
|
|
}
|