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

网站开发 协作平台wordpress模板层级介绍

网站开发 协作平台,wordpress模板层级介绍,官网网站开发框架,广西网上办事大厅GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Http) 11、GO学习之 微框架(Gin) 12、GO学习之 数据库(mysql) 13、GO学习之 数据库(Redis) 14、GO学习之 搜索引擎(ElasticSearch) 15、GO学习之 消息队列(Kafka) 16、GO学习之 远程过程调用(RPC) 17、GO学习之 goroutine的调度原理 18、GO学习之 通道(nil Channel妙用) 19、GO学习之 同步操作sync包 20、GO学习之 互斥锁、读写锁该如何取舍 21、GO学习之 条件变量 sync.Cond 22、GO学习之 单例模式 sync.Once 文章目录 GO系列前言sync.Once 如何使用 前言 按照公司目前的任务go 学习是必经之路了虽然行业卷不过技多不压身依旧努力 那sync.Once又是什么呢某个 goroutine 只需要且只能执行一次到目前为止我们知道程序运行期间只被执行一次的就是每个包的 init 函数sync包也提供了这样一种更灵活的机制可以保证 任意一个函数 在程序运行期间只被执行一次就是 sync.Once了。 sync.Once 如何使用 在 JAVA 开发中Spring 框架使用了 单例模式 来创建实体 Bean我们在开发中也是多用单例模式来避免实例的重复创建。 在 Go 标准库中sync.Once 的 “仅仅执行一次” 的特性被多用于初始化操作或者是资源清理的过程中以避免重复执行导致性能不是最佳。 sync.Once 的语义十分适合实现单例模式singleton模式并且实现起来也和简单如下获取实例的例子 package mainimport (logsynctime )// 定义一个结构体对象 type Entity struct{}var once sync.Once// 声明一个接口实例用于存放实例 var instance *Entityfunc GetFun(id int) *Entity {// 延迟获取异常信息defer func() {e : recover()if e ! nil {log.Printf(goroutine %d catch a panic: %s \n, id, e)}}()log.Printf(goroutine %d start run... \n, id)// once.Do 真正的执行创建实体操作once.Do(func() {instance Entity{}time.Sleep(3 * time.Second)log.Printf(goroutine %d create instance : %p\n, id, instance)panic(success to create a instance)})return instance }func main() {var wg sync.WaitGroupfor i : 0; i 5; i {wg.Add(1)go func(i int) {inst : GetFun(i)log.Printf(goroutine %d get a instance: %p, i, inst)wg.Done()}(i 1)}time.Sleep(5 * time.Second)inst : GetFun(0)log.Printf(goroutine %d get a instance: %p, 0, inst)wg.Wait()log.Printf(all goroutine done \n) }运行结果 PS D:\workspaceGo\src\sync go run .\sync_once_main.go 2023/12/02 16:17:04 goroutine 5 start run... 2023/12/02 16:17:04 goroutine 2 start run... 2023/12/02 16:17:04 goroutine 1 start run... 2023/12/02 16:17:04 goroutine 3 start run... 2023/12/02 16:17:04 goroutine 4 start run... 2023/12/02 16:17:07 goroutine 5 create instance : 0xa477c0 2023/12/02 16:17:07 goroutine 5 catch a panic: success to create a instance 2023/12/02 16:17:07 goroutine 5 get a instance: 0x0 2023/12/02 16:17:07 goroutine 3 get a instance: 0xa477c0 2023/12/02 16:17:07 goroutine 2 get a instance: 0xa477c0 2023/12/02 16:17:07 goroutine 4 get a instance: 0xa477c0 2023/12/02 16:17:07 goroutine 1 get a instance: 0xa477c0 2023/12/02 16:17:09 goroutine 0 start run... 2023/12/02 16:17:09 goroutine 0 get a instance: 0xa477c0 2023/12/02 16:17:09 all goroutine done从运行结果中我们可以观察到sync.Do 会等待 func() 执行完毕才返回在这期间其他的执行 once.Do 函数的 goroutine(如上述例子的 goroutine 1 ~ 4) 将会阻塞等待。 等 goroutine 5 的 sync.Do 执行完后其他的 goroutine 在调用 sync.Do 时将不再执行里面的 func() 并立即返回如 goroutine 0。 我们还可以观察到即便在函数 func() 中出现 panic, sync.Once 依旧认为 once.Do 执行完毕其他 goroutine 调用 once.Do 将不再执行 func() 。 现阶段还是对 Go 语言的学习阶段想必有一些地方考虑的不全面本文示例全部是亲自手敲代码并且执行通过。 如有问题还请指教。 评论去告诉我哦一起学习一起进步
http://www.zqtcl.cn/news/667790/

相关文章:

  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设
  • 南通优普高端网站建设wordpress 煎蛋主题
  • 大企业网站制作及维护关于网站建设的论文题目
  • wordpress网站字体淄博网站搜索排名
  • visual stdio 做网站 注册用户 密码必须6位以上品牌服装网站源码
  • 做网站用到的技术湖南建设银行网站
  • 成都大型网站设计公司电脑上重新下载一个wordpress
  • 番禺网站建设知乎自己做网站卖矿山设备
  • 手表网站起名登录页面html模板
  • 泰国如何做网站推广大英网站建设工作
  • 山东省职业能力建设处网站dz论坛怎么做视频网站吗
  • 郑州专业做网站的公司今天郑州最新通告
  • wap网站引导页特效wordpress 文章 数据库
  • 做建筑效果图最好的网站做网站是如果盈利的
  • 企业网站seo托管怎么做seo公司培训
  • 自己做网站不想买空间 自己电脑可以做服务器吗?下载建设网站软件
  • 有服务器自己怎么做网站百度广告电话号码是多少
  • 一个网站 两个数据库沈阳市住房和城乡建设厅网站
  • 重庆建站网站流程及费用制作网页界面工具
  • 设计师家园官网wordpress 4.9 优化