首页 > 其他分享 >go检测命令

go检测命令

时间:2023-01-21 20:00:10浏览次数:43  
标签:10000 检测 sync 命令 func time go main

map并发读写场景未加锁

package main

import "time"

func main() {
	m := make(map[int]int)
	go func() {
		for i := 0; i < 10000; i++ {
			m[0] = 1
		}
	}()
	go func() {
		for i := 0; i < 10000; i++ {
			_ = m[0]
		}
	}()

	time.Sleep(time.Second)
}

运行结果

go run加上race参数,输出存在data race的告警信息,只适用于运行时。

并发原语值拷贝

package main

import "sync"

func f(m sync.Mutex) {}

func main() {
	var m sync.Mutex
	f(m)
}

标签:10000,检测,sync,命令,func,time,go,main
From: https://www.cnblogs.com/WJQ2017/p/17064005.html

相关文章

  • go RWMutex源码分析
    适用场景并发场景下读多写少。字段含义RWMutex基于Mutex,写优先,Lock函数(反转readerCount)会阻止新的reader获取锁。typeRWMutexstruct{  wMutex  // writer......
  • OpenStack命令行参考
    OpenStack命令行参考hello,大家好,这里是费冰。在使用OpenStack的过程中,固然我们可以通过web页面完成绝大多数的操作,但作为管理人员,不能不知晓OpenStack命令行的有关知......
  • 【算法-基础之排序01】Go语言实现
    仓库码云地址远程仓库地址声明本人是个菜鸟,不一定对哦。。。我只测试一个是正确的。还有对于数组只有一个数或者nil的不考虑。先写一个公共的方法。替换俩个位置的数......
  • OpenStack命令行参考
    OpenStack命令行参考hello,大家好,这里是费冰。在使用OpenStack的过程中,固然我们可以通过web页面完成绝大多数的操作,但作为管理人员,不能不知晓OpenStack命令行的有关知识......
  • go sync.Once源码分析
    适用场景服务启动时读取全局配置。单个函数流程里面只调用一次。源码双重检查done值是0后,加锁执行指定函数并把done值改成1。typeOncestruct{ doneuint32 mM......
  • GO语言之环境搭建和基本命令
    目录go语言基础下载go编译器go目录简介gopath简介环境变量配置GOPATHPATHgo语言项目结构IDE下载与配置安装golandgoland里添加goroot和gopath编写第一个GO程序编译go文件在......
  • 一文学会 Go 的三个主流开发框架
    一文学会Go的三个主流开发框架前言本文介绍了三个Go主流开发框架GORM,Kitex,Hertz的基本使用方法,覆盖了ORM,RPC,HTTP三个领域。帮助读者快速入门Go工程开发。GORM......
  • alpha shape algorithm
    一个求轮廓的算法analphavalue(0<α<∞)isaparameterimposingtheprecisionofthefinalboundary.Alargevalue(α->∞)resultsinthealphaboundaryo......
  • (17)go-micro微服务Prometheus监控
    目录一Prometheus监控介绍1.微服务监控系统promethues介绍2.微服务监控系统promethues工作流程二Prometheus监控重要组件和重要概念1.微服务监控系统promethues重要组件2......
  • golang字典生成算法实现(全排列实现)
    packagemain//@Title main.go//@Description 入口文件//@Author xiao//@Update noneimport( "flag" "fmt" "log")//字典常量const( lowerCaseChar......