日本語版
最新ニュース
世界

Go の同時実行性の背後にある汚い秘密 |アビナブ著 | 2025 年 11 月

Go の同時実行性について人々が絶賛しているのを聞いたことがあるでしょう。 「とても簡単ですよ!」彼らは言います。 「ただ叩いてください」 go キーワードを入力すれば完了です!」Enterを押すかクリックして画像をフルサイズで表示します画像はフェアユースのもとで使用されています。 Google から出典。著者の所有物ではありません。そう、表面的にはシンプルに見えます。しかし、午前 3 時に本番環境のバグに膝まで浸かるまでは、誰も話さないことがあります。Go の同時実行モデルには、内部で実際に何が起こっているのかを知らなければ、ひどく痛む可能性のある複雑さが隠されています。美しい嘘Go の同時実行性を教えるときに誰もが示すものは次のとおりです。func main() {go doSomething()go doSomethingElse()time.Sleep(time.Second)}見てください、なんときれいなことでしょう!見てください、なんとシンプルなことでしょう!追加するだけです go とブーム、あなたは並行しています。ただし、このコードは実際には、すぐには分からない形で壊れています。彼らがあなたに教えてくれないこと1. ゴルーチンは無料ではありませんゴルーチンは「軽量」で、何百万ものゴルーチンを生成できると誰もが言います。それは技術的には正しいですが、誤解を招くものでもあります。各ゴルーチンは約 2KB のスタック領域から始まります。実際のプログラムが何か役に立つことをする前に、100 万個をスポーンすると、そこには 2GB のメモリが必要になります。 #の同時実行性の背後にある汚い秘密 #アビナブ著 #年 #月

Go の同時実行性の背後にある汚い秘密 |アビナブ著 | 2025 年 11 月

1762893129
2025-11-11 20:26:00

Go の同時実行性について人々が絶賛しているのを聞いたことがあるでしょう。 「とても簡単ですよ!」彼らは言います。 「ただ叩いてください」 go キーワードを入力すれば完了です!」

Enterを押すかクリックして画像をフルサイズで表示します

画像はフェアユースのもとで使用されています。 Google から出典。著者の所有物ではありません。

そう、表面的にはシンプルに見えます。しかし、午前 3 時に本番環境のバグに膝まで浸かるまでは、誰も話さないことがあります。

Go の同時実行モデルには、内部で実際に何が起こっているのかを知らなければ、ひどく痛む可能性のある複雑さが隠されています。

美しい嘘

Go の同時実行性を教えるときに誰もが示すものは次のとおりです。

func main() {
go doSomething()
go doSomethingElse()
time.Sleep(time.Second)
}

見てください、なんときれいなことでしょう!見てください、なんとシンプルなことでしょう!追加するだけです go とブーム、あなたは並行しています。ただし、このコードは実際には、すぐには分からない形で壊れています。

彼らがあなたに教えてくれないこと

1. ゴルーチンは無料ではありません

ゴルーチンは「軽量」で、何百万ものゴルーチンを生成できると誰もが言います。それは技術的には正しいですが、誤解を招くものでもあります。

各ゴルーチンは約 2KB のスタック領域から始まります。実際のプログラムが何か役に立つことをする前に、100 万個をスポーンすると、そこには 2GB のメモリが必要になります。

#の同時実行性の背後にある汚い秘密 #アビナブ著 #年 #月

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。