如果我有多个 go-routines 并且其中 2 个或更多的人决定他们需要打印一些东西,他们是否有可能互相打断?
例如:
package main
import (
"fmt"
)
func main() {
go print()
print()
}
func print() {
for true {
fmt.Print("ABCDEF")
}
}
是否有可能一个 go-routine 开始打印(AB)而另一个 go-routine 中断(ABABCDEF)和原始完成(ABABCDEFCDEF)?
我试过自己运行它并检查输出,它看起来不错,但我怎么能确定呢?
摇曳的蔷薇
相关分类