package initialization
import (
"time"
"github.com/gin-gonic/gin"
"monitor/server/dingding"
"monitor/server/email"
"sync"
)
type RLMap struct{
Data map[string]time.Time
sync.RWMutex
}
func (s *RLMap) Set(k string, v time.Time){
s.Lock()
s.Data[k] = v
s.Unlock()
}
func (s *RLMap) Get(k string)(v time.Time, ok bool){
s.RLock()
defer s.RUnlock()
v,ok = s.Data[k]
return v, ok
}
func (s *RLMap)del(k string) {
s.Lock()
delete(s.Data,k)
s.Unlock()
}
var Listenmap = new(RLMap)
var Problemlist = new(RLMap)
//func random() (res string){
// str := "0123456789"
// bytes :=
使用读写锁来保证数据安全
最新推荐文章于 2021-12-14 15:02:20 发布
本文介绍了一个名为RLMap的结构,它利用Go的sync.RWMutex实现读写锁来保证数据的安全。RLMap包含一个字符串到时间的映射,并提供了Set、Get和Delete方法来操作数据。Heartbeat函数接收请求并根据ID更新状态,当状态改变时,通过 Dingding 和 Email 发送通知。SeriousError 函数用于记录错误信息并发送通知。
摘要由CSDN通过智能技术生成