Goの哲学のため、チャンネルは送信者だけが閉じなければなりません。チャネルが双方向である場合、どこを閉じるべきですか?go:どちらのチャネルエンドポイントが双方向の場合にチャネルを閉じる必要がありますか?
-1
A
答えて
1
goには双方向チャネルがないため、少し質問が難しいです。データは、ライターからリーダーへの単一の方向にしか流れません。
あなたが行くことができるものは、チャンネル上の複数の読者またはライターです。これが意味をなさないかどうかは、文脈によって少し異なります。ライターが複数ある場合は、閉じる操作のために何らかの種類の同期が必要です(例:ミューテックス。ただし、クローズドチャネルで書き込まないようにするには、各書き込み操作の前にこれをロックする必要があります。チャンネルが受信側で閉じられているという情報が本当に必要ない場合は、ガベージコレクタも閉じられていないチャンネルを収集するだけで、閉じるを省略することもできます。
関連する問題
- 1. angular 2必要がない場合、双方向データバインドを避ける必要がありますか?
- 2. Netty:「キープアライブ」接続の場合、チャンネルを閉じる必要がありますか?
- 3. ReliableSqlConnectionからSQLConnectionを閉じる必要がありますか?
- 4. 双方向関係を回避する必要がありますか?
- 5. ベストプラクティス:双方向関係を回避する必要がありますか?
- 6. 双方向アソシエーションを休止する必要がありますか?
- 7. チャンネルを閉じるか、RandomAccessFileを閉じる必要がありますか
- 8. JULのFileHandlerを閉じる必要がありますか?
- 9. どちらかの項目がNULLの場合、Linq文は0を返す必要があります
- 10. データソースからの接続を閉じる必要がありますか?
- 11. 助けが必要な場合:DataGridCheckBoxColumn双方向は一方向のみで動作します
- 12. std :: fstreamを閉じる必要がありますか?
- 13. いつエンティティマネージャを閉じる必要がありますか?
- 14. WriteStreamを閉じる必要がありますか?
- 15. データベース接続を閉じる必要がありますか?
- 16. パンダは接続を閉じる必要がありますか?
- 17. Talendで接続を閉じる必要がありますか?
- 18. チュートリアルNotepadv3でデータベースを閉じる必要がありますか?
- 19. FileInputStreamを閉じる必要がありますか?
- 20. file_get_contentsを閉じる必要がありますか?
- 21. pymongoセッションを閉じる必要がありますか?
- 22. エンタープライズライブラリ4.1でDbCommandを閉じる必要がありますか?
- 23. json.loadでファイルを閉じる必要がありますか?
- 24. Unixソケット `SOCK_STREAMS`が単方向である場合、node-ipcはどのように双方向ですか?
- 25. WebInvokeのストリームメソッドを閉じる必要があります
- 26. ロガーのハンドラを閉じる必要があります
- 27. AndroidのAssetFileDescriptorを閉じる必要があります
- 28. searchViewを閉じるボタンのステートメントコードが必要な場合
- 29. WCFとの双方向通信 - コールバックを使用するか、単純に2つのチャネルを使用する必要がありますか?
- 30. MVC 5のコントローラアクションからJquery UIダイアログを閉じる必要があります
作成されたエンドポイント。 – RickyA
チャンネルを閉じなければならない明確なポイントがない場合、なぜそれを閉じるのですか? – JimB
チャンネルをどこで閉じるべきか明確なポイントを持つことは、新しいエンドポイントに新しいメッセージを送信しないようにもう一方のエンドポイントに通知することを意味します。送信者がチャネルを閉じなければならないというパラダイムではうまく解決されるように思われる問題だから...解決する唯一の方法は双方向チャネルを使用しないことです。 – Techradar