mirror of
https://gitee.com/samwaf/SamWaf.git
synced 2026-11-02 19:21:44 +08:00
29 lines
445 B
Go
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
|
|
}
|