3

TCP ソケットと 2 つのゴルーチンがストリームの読み取りと書き込みを行っています。チャネルからデータを読み取るゴルーチンを作成しています。TCP 接続が切断されると、go ルーチンからの読み取りがエラーを検出して停止します。

しかし、ゴルーチンの書き込みがあるチャネルを解放するにはどうすればよいでしょうか?

chan.release()ゴルーチンに終了を指示する特別なパケットを投稿する必要がありますか?

4

1 に答える 1

5

close(ch)チャネルを閉じます。

チャネルにまたがっている場合、チャネルが閉じられると for ループが終了します。 val, ok := <-ch閉じたチャネルを確認できます。ok はブール値で、ch が閉じている場合は false、ch が開いている場合は true になります。

于 2013-02-12T17:22:06.633 に答える