golang协程退出
生活随笔
收集整理的這篇文章主要介紹了
golang协程退出
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主協程退出,子協程也跟著掛
func main() {go func() {i := 0for {i++fmt.Println("子 i = ", i)time.Sleep(time.Second)}}() //別忘記()i := 0for {i++fmt.Println("main i = ", i)time.Sleep(time.Second)if i == 2 {break}}}子協程退出
import ("runtime""sync" )func main() {wg := new(sync.WaitGroup)wg.Add(1)go func() {defer wg.Done()defer println("A.defer")func() {defer println("B.defer")runtime.Goexit() // 終止當前 goroutineprintln("B") // 不會執行}()println("A") // 不會執行}()wg.Wait() }輸出結果:
B.defer A.defer總結
以上是生活随笔為你收集整理的golang协程退出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: golang中的goto
- 下一篇: golang中的runtime