首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    线程安全是否什么办法检测到呢?

    线程安全是否什么办法检测到呢?...答案就是 data race tag,go 官方早在 1.1 版本就引入了数据竞争的检测工具,我们只需要在执行测试或者是编译的时候加上 -race 的 flag 就可以开启数据竞争的检测 使用方式如下...go test -race main.gogo build -race 不建议在生产环境 build 的时候开启数据竞争检测,因为这会带来一定的性能损失(一般内存5-10倍,执行时间2-20倍),当然...建议在执行单元测试时始终开启数据竞争的检测 2.1 示例一 执行如下代码,查看每次执行的结果是否一样 2.1.1 测试 代码 package main import ( "fmt" "sync") var...当然由于种种不确定性,所有肯定不止这两种情况, 2.1.2 data race 检测 上面问题的出现在上线后如果出现bug会非常难定位,因为不知道到底是哪里出现了问题,所以我们就要在测试阶段就结合 data

    47600
    领券