私はクラスを持っています(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
この方法で使用する場合、ロックする必要がありますか? これはこのスレッドに対してのみローカルであるため、他のスレッドがアクセスすることはありません。