私は複数の異なる相互作用するクライアントを受け入れるC++サーバーを設計しており、ベクトルを使ってそれらのすべてを個別に追跡しています。しかし、非常に多くのスレッドが実行されているため、ベクトルが2つのスレッドによって同時に読み書きされる可能性は非常に低いということがわかりました。ミューテックスや何かを追加するための迅速かつ安全な方法はありますか?そうすれば、別の関数が追加されるまですべての読み込みが完了するまで待つことができますか?そうしないとプロトコルが混乱し、おそらくサーバーがクラッシュすることさえあります。どのようにしてベクターをミューテックスで保護できますか?
すべての読み込みをベクトルにロックするグローバル変数を作成するアイデアはありましたが、スレッドがその変数も相互に排除するように指示できるかどうかはわかりません(つまりboolをfalseに変更せずにチェックします同時に真実であり、機構を無意味にする)。
私はWindows 7(Visual Studio 2010 Pro)を使用しています。すべてのアドバイスをありがとう!