# README
サンプルリスト
このディレクトリには以下のサンプルがあります。
file | example name | note |
---|---|---|
nonstop.go | goroutines_nonstop | ゴルーチンを待ち合わせ無しで走らせるサンプルです |
withdonechannel.go | goroutines_with_done_channel | doneチャネルを用いて待ち合わせを行うサンプルです |
withwaitgroup.go | goroutines_with_waitgroup | sync.WaitGroupを用いて待ち合わせを行うパターンです |
withcontextcancel.go | goroutines_with_context_cancel | context.Contextを用いて待ち合わせを行うサンプルです |
withcontexttimeout.go | goroutines_with_context_timeout | context.Contextを用いてタイムアウト付きで待ち合わせを行うサンプルです |
withcontextdeadline.go | goroutines_with_context_deadline | context.Context::WithDeadline を使ったサンプルです |
selectnilchan1.go | goroutines_select_nil_chan_1 | select ステートメントで nil チャネル を使って選択されるチャネルの有効・無効を切り替えるサンプルです (1) |
selectnilchan2.go | goroutines_select_nil_chan_2 | select ステートメントで nil チャネル を使って選択されるチャネルの有効・無効を切り替えるサンプルです (2) |
usingchansemaphore.go | goroutines_using_chan_semaphore | チャネルでセマフォの動作を行わせるサンプルです |
usingmutex.go | goroutines_using_mutex | sync.Mutex を利用したサンプルです |
workerpool.go | goroutines_workerpool | Worker Pool パターンのサンプルです |
context_and_timeafterfunc.go | goroutines_context_and_timeafterfunc | ContextAndTimeAfterFunc は、Context と time.AfterFunc でキャンセルするサンプルです |
# Packages
Package chansemaphore は、チャネルでセマフォの動作を実現するサンプルが配置されています.
Package leak -- ゴルーチンリークについてのサンプルが配置されているパッケージです。
*/.
# Functions
ContextAndTimeAfterFunc は、Context と time.AfterFunc でキャンセルするサンプルです.
NewRegister -- このパッケージ用のサンプルを登録する mapping.Register を生成します。.
NonStop -- ゴルーチンを待ち合わせ無しで走らせるサンプルです.
SelectNilChan1 -- select ステートメントで nil チャネル を使って選択されるチャネルの有効・無効を切り替えるサンプルです (1).
SelectNilChan2 -- select ステートメントで nil チャネル を使って選択されるチャネルの有効・無効を切り替えるサンプルです (2).
SelectNilChan3 -- select ステートメントで nil チャネル を使って選択されるチャネルの有効・無効を切り替えるサンプルです (3).
UsingChanSemaphore -- チャネルでセマフォの動作を行わせるサンプルです.
UsingMutex -- sync.Mutex を利用したサンプルです.
WithContextCancel -- context.Contextを用いて待ち合わせを行うサンプルです.
WithContextCancelCause は、Go 1.20 で新規追加された context.WithCancelCause のサンプルです.
WithContextDeadline -- context.WithDeadline を使ったサンプルです.
WithContextTimeout -- context.Contextを用いてタイムアウト付きで待ち合わせを行うサンプルです.
WithDoneChannel -- doneチャネルを用いて待ち合わせを行うサンプルです.
WithWaitGroup -- sync.WaitGroupを用いて待ち合わせを行うパターンです.
WorkerPool -- Worker Pool パターンのサンプルです.