Documentation ¶
Overview ¶
Package leak -- ゴルーチンリークについてのサンプルが配置されているパッケージです。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AbandonedReceiver ¶
func AbandonedReceiver() error
AbandonedReceiver -- goroutineリークが発生するパターンのサンプルです。
チャネルの送受信の実装があるが、タイミングによっては送信側がいなくなってしまうパターン。 受信側のgoroutineが永遠に待ち続けるので終了しません。
解決方法としては、送信側が適切に使い終わったチャネルを閉じること。
REFERENCES:
func AbandonedSender ¶
func AbandonedSender() error
AbandonedSender -- goroutineリークが発生するパターンのサンプルです。
チャネルの送受信の実装があるが、タイミングによっては受信側がいなくなってしまうパターン。 送信側のgoroutineが永遠に待ち続けるので終了しません。
解決方法としては、Bufferedなチャネルを使うこと。
REFERENCES:
func ForgottenReceiver ¶
func ForgottenReceiver() error
ForgottenReceiver -- goroutineリークが発生するパターンのサンプルです。
チャネルを作成し、チャネルの受信側がいないパターン。 送信側のgoroutineが永遠に待ち続けるので終了しません。
解決方法としては、Bufferedなチャネルを使うこと。
REFERENCES:
func ForgottenSender ¶
func ForgottenSender() error
ForgottenSender -- goroutineリークが発生するパターンのサンプルです。
チャネルを作成し、チャネルの送信側がいないパターン。 受信側のgoroutineが永遠に待ち続けるので終了しません。
解決方法としては、送信側が適切に使い終わったチャネルを閉じること。
REFERENCES:
func NewRegister ¶
NewRegister -- このパッケージ用のサンプルを登録する mapping.Register を生成します。
func SenderAfterErrorCheck ¶
func SenderAfterErrorCheck() error
SenderAfterErrorCheck -- goroutineリークが発生するパターンのサンプルです。
チャネルの送受信の実装があるが、内部の処理結果によっては送信側がいなくなってしまうパターン。 受信側のgoroutineが永遠に待ち続けるので終了しません。
解決方法としては、送信側が適切に使い終わったチャネルを閉じること。
REFERENCES:
Types ¶
This section is empty.