Go语言中Once如何使用
发表于:2024-10-04 作者:千家信息网编辑
千家信息网最后更新 2024年10月04日,Go语言中Once如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。sync.Once是sync包中的一个对象,它只
千家信息网最后更新 2024年10月04日Go语言中Once如何使用
Go语言中Once如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
sync.Once是sync包中的一个对象,它只有一个方法Do,这个方法很特殊,在程序运行过程中,无论被多少次调用,只会执行一次。
1.适用场景:
在一个进程之中,如果一个函数里面的一部分代码,希望在很多协程都执行的时候,只被执行一次,那么Once便起到了作用。例如:初始化进程中的共享内存,它只希望被该进程初始化一次,其他协程不需要初始化操作。
例子:
结果分析:
从上面的输出结果可以看出,使用了once.Do之后,onceBody()函数中的代码只被调用了一次。其他的协程依然还在运行,但是并没有去执行onceBody()函数中的代码。
2. 源码如下所示:
Once的数据结构和函数实现如下所示:
备注:巧妙之处,doSlow函数中,计数器done的自增操作是写到了defer函数中,原因就是defer中的函数就算在panic的时候,也会被执行,这样就可以有效的避免panic的时候,Do函数的计数器失效,导致其他的协程会在调用一次f()中的代码。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
函数
代码
时候
进程
方法
结果
计数器
帮助
运行
语言
巧妙
有效
清楚
特殊
之中
作用
例子
内存
内容
原因
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2021年国内网络安全时间
重定向到自己的服务器
国泰新点软件开发
node服务器和其他服务器比较
都江堰网络安全宣传
哈尔滨优势上位机软件开发
欧睿数据库怎么注册
专业软件开发费用是多少
模型和底层数据库的技术
一对一学网络安全
桂阳软件开发工程师培训哪里好
sdnf网络技术
恐龙岛蓬莱岛服务器
马来西亚有网络安全的大学
c语言软件开发目录结构
我的世界叶枫宝可梦服务器
月皓智能网络技术常熟有限公司
互联网科技园建设的必要性
维护网络安全要军民一体
软件开发推荐电脑配置
胶州电商软件开发解决方案
用友网络技术总监
上海悠铠网络技术有限公司
苹果12服务器地址在哪里看
大理服务器回收电话
机器人软件开发项目
南京网络安全工程师招聘
原阳天气预报软件开发
sdnf网络技术
远程登录服务器怎么下载文件