Go1.13的坑:无法结束Goroutine
背景
- 本人作为一名SRE,想用Go模拟Cpu占用100% 1秒钟,但是在Go1.13上遇到了问题,1s后Goroutine不会停止。
- 只要用了
for{}
,Goroutine就无法结束,即使主Goroutine结束。 - 在Go1.14及以上版本解决了这个问题。
代码
package main
import (
//"fmt"
)
import "time"
func Test1() {
for {
//fmt.Println("hello") //随便在for循环中加个语句,就可以停止了
}
}
func main() {
go Test1()
time.Sleep(1 * time.Second)
}
其他参考文章
- https://blog.51cto.com/u_15023263/3788803