タグ

ブックマーク / ww24.jp (1)

  • goroutine と並行処理の怖い話 · ww24.jp

    概要 golanggoroutine と channel は非常に強力な機能で、並行処理へのハードルが下がり、手軽に使うことが出来ます。 当にそうでしょうか。 ハードルは下がる… しかし、下手に扱うと panic, deadlock, race condition, goroutine leak… 怖いもの (嵌りポイント) が多いです。 panic まず、 defer + recover していない goroutine の中で panic が起こると、メイン goroutine を巻き込んで process が死にます。 package main import ( "fmt" ) func main() { defer recover() defer fmt.Println("finish") fmt.Println("main goroutine") ch := make(ch

    goroutine と並行処理の怖い話 · ww24.jp
    hiro14aki
    hiro14aki 2021/06/07
  • 1