如果我有多个go协程正在运行,其中两个或更多个决定需要打印输出,它们是否会相互中断?
例如:
package main
import (
"fmt"
)
func main() {
go print()
print()
}
func print() {
for true {
fmt.Print("ABCDEF")
}
}
一个go协程是否可能开始打印(AB
),另一个go协程中断(ABABCDEF
),最初的协程完成(ABABCDEFCDEF
)?
我尝试运行了一下并检查了输出结果,看起来是正确的,但我如何确保它没有问题呢?