dongqie4402 2018-11-15 22:08
浏览 4

最简单的Go竞赛条件示例?

I need a simple Go code sample which will definitely run the program into an race-condition.

Any ideas?

  • 写回答

1条回答 默认 最新

  • douyu0845 2018-11-15 23:17
    关注

    The original question:

    I need a simple Go code sample which will definitely run the program into an race-condition.


    For example,

    racer.go:

    package main
    
    import (
        "time"
    )
    
    var count int
    
    func race() {
        count++
    }
    
    func main() {
        go race()
        go race()
        time.Sleep(1 * time.Second)
    }
    

    Output:

    $ go run -race racer.go
    ==================
    WARNING: DATA RACE
    Read at 0x00000052ccf8 by goroutine 6:
      main.race()
          /home/peter/gopath/src/racer.go:10 +0x3a
    
    Previous write at 0x00000052ccf8 by goroutine 5:
      main.race()
          /home/peter/gopath/src/racer.go:10 +0x56
    
    Goroutine 6 (running) created at:
      main.main()
          /home/peter/gopath/src/racer.go:15 +0x5a
    
    Goroutine 5 (finished) created at:
      main.main()
          /home/peter/gopath/src/racer.go:14 +0x42
    ==================
    Found 1 data race(s)
    exit status 66
    $ 
    
    评论

报告相同问题?

悬赏问题

  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多