当前位置: 首页 > news >正文

那个网站做外贸网站建设流程

那个网站做外贸,网站建设流程,网站建设过程中的收获,一个新的网站怎么做SEO优化sync.Once 是 Go 语言标准库中的一个结构体,它的作用是确保某个操作在全局范围内只被执行一次。这对于实现单例模式或需要一次性初始化资源的场景非常有用。 典型用法 sync.Once 提供了一个方法 Do(f func()),该方法接收一个没有参数和返回值的函数 f …

sync.Once 是 Go 语言标准库中的一个结构体,它的作用是确保某个操作在全局范围内只被执行一次。这对于实现单例模式或需要一次性初始化资源的场景非常有用。

典型用法

sync.Once 提供了一个方法 Do(f func()),该方法接收一个没有参数和返回值的函数 f 作为参数。无论 Do 方法被调用多少次,函数 f 只会被执行一次。

var once sync.Oncefunc setup() {// 初始化操作,只会执行一次
}func main() {// 即使在多线程环境下,setup函数也只会被执行一次once.Do(setup)once.Do(setup) // 这次调用不会执行setup
}

多CPU下跑 - 示例

依然只执行一次

package mainimport ("fmt""runtime""sync"
)var once sync.Once
var wg sync.WaitGroupfunc setup() {// 初始化操作,只会执行一次fmt.Println("init")
}func main() {// 设置GOMAXPROCS为机器上的CPU核心数// 让协程同时跑在多个CPU上numCPU := runtime.NumCPU()runtime.GOMAXPROCS(numCPU)fmt.Printf("Running with %d CPUs\n", numCPU)// 即使在多核CPU下的多协程环境下,setup函数也只会被执行一次for i := 0; i < 1000; i++ {wg.Add(1)go func(i int) {defer wg.Done()once.Do(setup)fmt.Printf("Running in goroutine %d\n", i)}(i)}wg.Wait()fmt.Println("Done")
}

原理

sync.Once 的实现原理基于 Go 语言的内存模型和同步原语,主要通过两个字段控制:一个是 done,用于标记函数 f 是否已经执行过;另一个是互斥锁 m,用于在多个 goroutine 同时调用 Do 方法时保证只有一个能执行函数 f

  1. Do 方法第一次被调用时,done 字段为 0,表示函数 f 还没有执行。
  2. Do 方法会先检查 done 字段,如果 f 已经执行(done 不为 0),则直接返回。
  3. 如果 f 还没有执行,Do 方法会加锁并再次检查 done 字段,以防在等待锁的过程中 f 被执行。
  4. 如果 f 确实还没有执行,Do 方法会执行函数 f,然后将 done 设置为 1 并释放锁。

这种设计确保了即使在高并发的情况下,函数 f 也只会被执行一次,同时避免了不必要的加锁操作,提高了效率。

http://www.tj-hxxt.cn/news/46106.html

相关文章:

  • 大数据技术建设网站提高网站流量的软文案例
  • 自己注册公司网站免费单页网站在线制作
  • 国内做的比较好的数据网站湖南关键词优化品牌价格
  • 教育网站制作方案最新新闻摘抄
  • 网站月流量什么意思天机seo
  • 科技公司做网站代做百度首页排名价格
  • 建湖人才网最新招聘信息查询北京seo优化排名推广
  • 哪个网站简历做的好网站推广关键词排名优化
  • 有个音乐网站老板做淫秽直播被抓百度seo排名优化提高流量
  • 正能量软件不良网站免费入口阿里云域名购买
  • 网站建设 系统维护快速收录域名
  • 橙子建站官网登录谷歌搜索优化seo
  • 曰本真人做爰视频网站网络营销方案怎么写
  • b2c网站模板盈利模式网站设计制作教程
  • 双十一网站怎么做怎么样建网站
  • 织梦网站提示保存目录数据时报站长联盟
  • 网站建站平台是什么深圳建站公司
  • 影响网站权重的因素有哪些培训机构在哪个平台找
  • 网站开发综合设计报告如何建立自己的网站平台
  • 杭州 网站建设公司企业文化建设
  • 做视频网站视频加载过慢目前疫情最新情况
  • 宠物网站设计的代码百度健康
  • 中小型网站建设教程广州最新政策
  • 长沙做网站建设公司哪家好手机如何制作一个网页链接
  • 做58同城网站花了多少钱北京seo优化wyhseo
  • 网站建设bd方案软文营销案例文章
  • 网站整合营销推广百度新闻头条新闻
  • 做网站在阿里云买什么长春seo结算
  • 潍坊哪里可以做网站网络营销教学网站
  • 广州化妆品网站建设公司排名百度大数据分析平台