golang value并发安全的另一种玩法是怎样的
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关golang value并发安全的另一种玩法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。golang
千家信息网最后更新 2026年11月01日golang value并发安全的另一种玩法是怎样的
本篇文章给大家分享的是有关golang value并发安全的另一种玩法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
golang value并发安全的另一种玩法,就是使用atomic.Value,看一段代码。
package mainimport ( "sync" "sync/atomic" "time")func main() { var m atomic.Value type Map map[string]string m.Store(make(Map)) var mu sync.Mutex read := func(key string) (val string) { m1 := m.Load().(Map) return m1[key] } insert := func(key, val string) { mu.Lock() defer mu.Unlock() m1 := m.Load().(Map) m2 := make(Map) for k, v := range m1 { m2[k] = v } m2[key] = val m.Store(m2) } go func() { for { insert("k", "v") time.Sleep(100 * time.Millisecond) } }() go func() { for { read("k") } }() time.Sleep(10 * time.Second)}相对于读写锁,少了一些锁的争抢,不过相对的,带来了一些,内存上的开销,适用于读多写少并且变量占用内存不是特别大的情况,如果用内存存储大量数据,这个并不适合,技术上主要是常见的写时复制(copy-on-write)。
另外这个还比较适合程序配置的存储,贴一段官方的栗子
var config Value // holds current server configuration// Create initial config value and store into config.config.Store(loadConfig())go func() { // Reload config every 10 seconds // and update config value with the new version. for { time.Sleep(10 * time.Second) config.Store(loadConfig()) }}()// Create worker goroutines that handle incoming requests// using the latest config value.for i := 0; i < 10; i++ { go func() { for r := range requests() { c := config.Load() // Handle request r using config c. _, _ = r, c } }()}恩,挺好玩的。
以上就是golang value并发安全的另一种玩法是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
安全
玩法
内存
就是
更多
知识
篇文章
存储
好玩
实用
代码
变量
官方
工作会
常见
开销
情况
技术
数据
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司
广州为想互联网科技有限公司
广州万易互联网科技有限公司
科技与互联网
互联网科技开发公司
互联网科技的未来发展
大白互联网科技
互联网科技公司名称
上海电发互联网科技有限公司
剑昆互联网络科技有限公司临桂
科技类公司包括互联网吗
工业互联网等科技实现智能化赋能
用友工业互联网科技发展
徐州市互联网科技有限公司
保险科技服务互联网营销体系
雨阳互联网卡科技有限公司
35岁以上互联网科技行业
云南互联网科技学费
互联网科技手抄报图片
数字互联网科技有限公司
科技金融是不是互联网金融
麻工互联网科技
奇酷互联网络科技公司
无线互联网科技
一五八零互联网科技
南平创想时代互联网科技有限公司
互联网科技产业特征
深圳市优智互联网科技有限公司
上海钢联属于互联网科技股吗
互联网科技大会大佬