ホームページ >バックエンド開発 >PHPチュートリアル >[Go ラーニング] 同時実行制御 WaitGroup カウント セマフォ
この記事の編集者は、Go 言語の同時実行制御における WaitGroup カウント セマフォを学習し、特定の参考値を持つユース ケース コードを添付します。興味のある友人は学習しに来てください。
WaitGroup は、実行中の goroutine を記録および維持するために使用できるカウント セマフォです。WaitGroup の値が 0 より大きい場合、Wait メソッドはブロックします。
Done メソッドを呼び出して、実行中のゴルーチンを記録および維持します。 WaitGroup の値を取得し、最後にメイン関数
package main import( "fmt" "runtime" "sync" ) func main(){ //只分配一个逻辑处理器给调度器使用 runtime.GOMAXPROCS(1) //wg用来使main goroutine等待子goroutine结束 var wg sync.WaitGroup //等待两个子goroutine结束 wg.Add(2) fmt.Println("开启goroutine") go func(){ defer wg.Done() //循环显示三遍字母表 for count:=0;count<3;count++{ //循环显示字母表 for char:='a';char<'a'+26;char++{ fmt.Printf("%c ",char) } } }() go func(){ defer wg.Done() //循环显示三遍字母表 for count:=0;count<3;count++{ //循环显示字母表 for char:='A';char<'A'+26;char++{ fmt.Printf("%c ",char) } } }() //main goroutine等待子goroutine结束 wg.Wait() fmt.Println("\ngoroutine结束") }
をリリースします。Go 言語のチュートリアルをさらに知りたい場合は、go ビデオ チュートリアル に従ってください。 PHP中国語ウェブサイトです!
以上が[Go ラーニング] 同時実行制御 WaitGroup カウント セマフォの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。