leak

package
v0.5.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2024 License: MIT Imports: 5 Imported by: 0

README

サンプルリスト

このディレクトリには以下のサンプルがあります。

file example name note
forgotten_sender.go goroutines_leak_forgotten_sender チャネルの送信側を忘れることにより発生するgoroutineリークのサンプルです
forgotten_receiver.go goroutines_leak_forgotten_receiver チャネルの受信側を忘れることにより発生するgoroutineリークのサンプルです
abandoned_sender.go goroutines_leak_abandoned_sender 処理のタイミングによって受信側がいなくなり、送信側が放棄されてしまうgoroutineリークのサンプルです
abandoned_receiver.go goroutines_leak_abandoned_receiver 処理のタイミングによって送信側がいなくなり、受信側が放棄されてしまうgoroutineリークのサンプルです
sender_after_error_check.go goroutines_leak_sender_after_error_check 処理結果によって送信側がいなくなり、受信側が放棄されてしまうgoroutineリークのサンプルです

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

func NewRegister() mapping.Register

NewRegister -- このパッケージ用のサンプルを登録する mapping.Register を生成します。

func SenderAfterErrorCheck

func SenderAfterErrorCheck() error

SenderAfterErrorCheck -- goroutineリークが発生するパターンのサンプルです。

チャネルの送受信の実装があるが、内部の処理結果によっては送信側がいなくなってしまうパターン。 受信側のgoroutineが永遠に待ち続けるので終了しません。

解決方法としては、送信側が適切に使い終わったチャネルを閉じること。

REFERENCES:

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL