Files
SamWaf/cache/waf_only_lock_write.go
T
2023-12-28 15:37:03 +08:00

29 lines
445 B
Go

package cache
import (
"sync"
"time"
)
func InitWafOnlyLockWrite() WafOnlyLockWriteData {
return WafOnlyLockWriteData{}
}
type WafOnlyLockWriteData struct {
value int64
mu sync.RWMutex
}
func (d *WafOnlyLockWriteData) WriteData(val int64) {
d.mu.Lock()
defer d.mu.Unlock()
d.value = val
}
func (d *WafOnlyLockWriteData) ReadData() int64 {
d.mu.RLock()
defer d.mu.RUnlock()
time.Sleep(500 * time.Millisecond)
return d.value
}