【发布时间】:2020-07-25 14:38:51
【问题描述】:
考虑下面的小sn-p:
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
for i := 1; i < 100; i++ {
fmt.Println("A:", i)
}
}()
go func() {
defer wg.Done()
for i := 1; i < 100; i++ {
fmt.Println("B:", i)
}
}()
wg.Wait()
}
在 delve 中,我们可以使用类似的命令在 goroutine 之间轻松切换
goroutine
goroutine <id>
goroutine <id> <command>
如果我想在 goroutine 1 中逐步运行,只需使用命令
goroutine 1 next
在vscode中,处理goroutines的唯一方法似乎是调用堆栈,然而,这似乎是go运行时的内部线程,而不是goroutines,所以我怎样才能将正在运行的进程集中在指定的goroutine中?
【问题讨论】:
标签: go visual-studio-code goroutine delve