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

编程小窍门: 一个简单的go mutex的小例子

本期小窍门用到了两个组件

  • mutex 这个类似其他语言的互斥锁
  • waitGroup 这个类似其他语言的信号量或者java的栅栏锁

示例如下

func TestDoSomething04(t *testing.T) {total := 0var wg = sync.WaitGroup{}var mut = sync.Mutex{}   for i := 0; i < 5000; i++ {go func() {wg.Add(1)defer func() {mut.Unlock()wg.Done()}()mut.Lock()total++}()}wg.Wait()t.Log(total)
}
http://www.lryc.cn/news/123560.html

相关文章:

  • 【工作记录】mysql中实现分组统计的三种方式
  • 马来西亚的区块链和NFT市场调研
  • [保研/考研机试] KY109 Zero-complexity Transposition 上海交通大学复试上机题 C++实现
  • Linux零基础快速入门到精通
  • ARM02汇编指令
  • 从初学者到专家:Java方法的完整指南
  • 【生成式AI】ProlificDreamer论文阅读
  • C++元编程——模拟javascript异步执行
  • 【JavaEE】懒人的福音-MyBatis框架—复杂的操作-动态SQL
  • Springboot 默认路径说明
  • springboot注册拦截器与返回统一标准响应格式
  • 卷王特斯拉又全网降价了,卷死车企们
  • wiley:revision 流程
  • 【论文阅读】基于深度学习的时序预测——Pyraformer
  • 玩转IndexedDB,比localStorage、cookie还要强大的网页端本地缓存
  • RedisDesktopManager连不上redis问题解决(小白版)
  • 蓝帽杯 取证2022
  • MyBatis and or使用列表控制or条件
  • C语言刷题训练【第11天】
  • 正则表达式的使用
  • PHP 求解两字符串所有公共子序列及最长公共子序列 支持多字节字符串
  • linux内核bitmap之setbit汇编实现
  • Golang设计模式
  • leetcode151. 反转字符串中的单词
  • 【BASH】回顾与知识点梳理(十七)
  • 时序预测-Informer简介
  • 2023牛客第七场补题报告C F L M
  • Android使用kotlin+协程+room数据库的简单应用
  • Kubernetes pod调度约束[亲和性 污点] 生命阶段 排障手段
  • Matlab实现模拟退火算法(附上多个完整源码)