私は、要素が先入れ先出しでなければならないキュー構造(データコンテナ)を探したいと思います。構造がスレッドセーフでなければならないことは私にとって重要です。私はこのデータコンテナをタスクや接続プールのようなものとして使うつもりです。Goのバッファリングされたチャネルをスレッドセーフなキューとして使用できますか?
私はバッファリングされたチャネルがスレッドセーフであることを知っていますが、特に同時の状況では、FIFOとして動作するのだろうかと思います。
スレッドセーフなキューとしてバッファリングされたチャネルを使用することができる場合は、その効率について心配する必要がありますか?
チャンネルが答えです。そのような仕事のためのチャンネルよりも優れたものを見つけたり、書くことはほとんどありません。 – Mostafa
チャネルは、タスクキュー、リソース共有、接続プールなどに特に適しています。スレッド言語のパターンを再現しないように注意してください.Go言語の大きな進歩の1つは、ゴルーチン+チャンネルメカニズムです。それを理解してください(おそらくSOにアーキテクチャや戦略を提出することができます)。 –
これは私がGoのチャンネルについて学んだときに最初に思ったことです、これを聞いてくれてありがとう! – karysto