I持つ二つのゴルーチンのような、ゴースレッド - STOP実行
Routine 1 {
// do something
}
Routine 2 {
// do something
}
main {
// do something
}
それはいくつかの条件が満たされた場合、全体のプログラムの実行を停止し、ルーチン1でから可能ですか?メインとルーチン2の実行を停止しますか?簡単な例を挙げることができます。例えば
I持つ二つのゴルーチンのような、ゴースレッド - STOP実行
Routine 1 {
// do something
}
Routine 2 {
// do something
}
main {
// do something
}
それはいくつかの条件が満たされた場合、全体のプログラムの実行を停止し、ルーチン1でから可能ですか?メインとルーチン2の実行を停止しますか?簡単な例を挙げることができます。例えば
、
package main
import "os"
func routine1() {
// set exit = true when ready to exit
exit := false
if exit {
os.Exit(0)
}
}
func routine2() {
}
func main() {
go routine1()
go routine2()
}
またroutine2と通信routine1持つようにチャネルを使用することができます。 WLOGルーチン1は何かをチャンネルに送り、routine2はselectステートメントを使ってそのチャンネルから何かを取り除くか、別の「仕事」チャンネル(ルーチンに仕事を提供するチャンネル)から何かを取り除くことができます。ルーチン2が何かを「実行終了」チャンネルから取り除くと、終了してos.Exit(0)を呼び出すことができます。