私は最近、Goで同時にReadとCloseを正しく理解する方法がわかりません。私の特定のケースでは、私はシリアルポートでそれを行う必要がありますが、問題はより一般的です。 私たちは、物事を同期させるために特別な努力をしなければ、競合状態に陥ります。簡単な例: closing
==================
WARNING: DATA RACE
Write at 0x00c4200143
私はジョブディスパッチャであり、たくさんのTCPソケットから大量のデータを照合しているコードをいくつか持っています。このコードはLarge number of transient objects - avoiding contentionへのアプローチの結果であり、大部分はCPU使用率の低下と現在の問題ではありません。 時々、私のアプリケーションがロックアップし、データがまだ私のソケットから入って
これは私の存在の悩みです。 getEC2Metricsはチャンネルに公開されているもののよう type ec2Params struct {
sess *session.Session
region string
}
type cloudwatchParams struct {
cl cloudwatch.CloudWatch
id string