golang sync.Once
2024-08-26 06:39:27
package main import (
"fmt"
"sync"
"time"
) var counter int = func main() {
var once sync.Once
onceBody := func() {
time.Sleep(3e9)
fmt.Println("Only once")
}
done := make(chan bool)
for i := ; i < ; i++ {
j := i
go func(int) {
once.Do(onceBody)
fmt.Println(j)
done <- true
}(j)
}
//给一部分时间保证能够输出完整【方法一】
//for i := 0; i < 10; i++ {
// <-done
//} //给一部分时间保证能够输出完整【方法二】
<-done
time.Sleep(3e9)
}
最新文章
- 洗牌算法Fisher_Yates原理
- 不需要写代码,文件夹右键cmd定位指定目录
- Vmware虚拟机克隆的网卡问题
- C#函数式编程之惰性求值
- 各种浏览器css hack
- 学习总结 java线程
- delphi构造&;析构调用顺序
- hdu1875
- Destroying the bus stations
- Spark在集群中的安装
- HTML5 WebAudioAPI(三)--绘制频谱图
- hive优化之自己主动合并输出的小文件
- pcl1.7.2_vs2013_x64工程配置
- string.Format()字符串格式化
- webpack-dev-server和webpack-dev-middleware的区别
- thinkPHP框架5.0 类图下载
- NodeJS对象数组Array 根据对象object key的值排序sort
- hbase权限管理
- Java连接MySQL数据库及操作
- 设计模式之外观模式(Facade Pattern)
热门文章
- 【JavaScript】JavaScript中的replaceAll
- [递推+dfs]ZOJ 3436. July Number
- style=";background-image: url(__HOMEPAGE__/views/IMJ2V2/images/banner2.jpg)";
- oh-my-zsh upgrade problem
- 计算文件大小(C/C++语言)
- 海康录像机 POE 输送距离 实验
- ES6学习笔记(三)字符串的扩展
- 【Nginx从入门到实战】
- 通用查询实现方案(可用于DDD)[附源码] -- 设计思路
- visualvm监控tomcat