为了账号安全,请及时绑定邮箱和手机立即绑定

如何按所需顺序打印数字

如何按所需顺序打印数字

Go
12345678_0001 2021-08-16 15:34:41
我在互联网上找到了很多关于互斥锁的教程,然后在我尝试构建自己的示例之后。看看我下面的代码片段。package mainimport (    "fmt"    "sync"    "time")func main() {    thread := new(sync.Mutex)    y := 0    for i := 0; i < 10; i++ {        go func() {            y = i            thread.Lock()            fmt.Println(y)            thread.Unlock()        }()    }    time.Sleep(100000)}作为输出,我只有 10 个,但我的目标是获得 1、2、3、4...10 个。我怎样才能做到这一点?或者我的样本没有任何意义?
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

尝试 :


for i := 0; i < 10; i++ {

    go func(j int) {

        thread.Lock()

        fmt.Println(j)

        thread.Unlock()

    }(i)

}

这就是为什么。


查看完整回答
反对 回复 2021-08-16
  • 3 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信