STLにはスレッドサポートが組み込まれていないため、マルチスレッド環境でSTLを使用するには、独自の同期メカニズムを使用してSTLコードを拡張する必要があります。
たとえば、ここを見てください:リンクテキスト
setはコンテナクラスであるため、MSDNはコンテナのスレッドセーフについて次のように述べています。
単一のオブジェクトは、複数のスレッドから読み取るためにスレッドセーフです。たとえば、オブジェクトAが与えられた場合、スレッド1とスレッド2から同時にAを読み取るのは安全です。
単一のオブジェクトが1つのスレッドによって書き込まれている場合、同じスレッドまたは他のスレッドでそのオブジェクトへのすべての読み取りと書き込みを保護する必要があります。たとえば、オブジェクトAが与えられた場合、スレッド1がAに書き込みを行っている場合、スレッド2はAからの読み取りまたはAへの書き込みを禁止する必要があります。
別のスレッドが同じタイプの別のインスタンスに対して読み取りまたは書き込みを行っている場合でも、あるタイプの1つのインスタンスに対して読み取りおよび書き込みを行うのは安全です。たとえば、同じタイプのオブジェクトAとBが与えられた場合、Aがスレッド1で書き込まれ、Bがスレッド2で読み取られている場合は安全です。