私はクラスを持っています(stl::map<int, *msg> msg_containerここでmsgは関係ありません)。
複数のスレッドがグローバルmsg_containerに追加されており、同期アクセスのためにロックが設定されています。
別のスレッドでmsg_containerは、特定の時間に のローカル コピーを評価し、チェックを実行する必要があります。以下のような擬似コード
map<int, *msg> msg_container;
map<int, *msg> msg_container_copy;
if (appropriate_time_is_reached)
{
msg_container_copy = msg_container;
//perform functions on msg_container_copy
}
前の質問のとおりmsg_container、他のスレッドが追加される可能性がある場合は、読み取り時にロックする必要があることを知っています。
msg_container_copyこの方法で使用する場合、ロックする必要がありますか? これはこのスレッドに対してのみローカルであるため、他のスレッドがアクセスすることはありません。