Goroutines没有迭代切片

时间:2015-11-14 21:23:20

标签: go concurrency

我有这段代码:

for _, v := range sams {
    sam := v
    pid := getPracticeIdBySam(db, sam)

    go func() {
        defer wg.Done()

        for _, v := range pid {
            process(db, stmt, v, min_year, max_year, bar)
        }
    }()
}

它遍历第一个“pid”,然而它停在那里。有这个原因吗?

1 个答案:

答案 0 :(得分:0)

我找到了原因。这是因为我在wg.Wait()中有process,这反过来导致它挂起。