STL no tiene soporte integrado para subprocesos, por lo que deberá extender el código STL con sus propios mecanismos de sincronización para usar STL en en un entorno multiproceso.
Por ejemplo vistazo aquí: link text
Desde conjunto es una clase de contenedor de MSDN ha siguiente que decir acerca de la seguridad de los subprocesos de los contenedores.
Un único objeto es seguro para la lectura de subprocesos múltiples. Por ejemplo, dado un objeto A, es seguro leer A desde el hilo 1 y desde el hilo 2 simultáneamente.
Si un subproceso solo se escribe en un subproceso, todas las lecturas y escrituras en ese objeto en el mismo subproceso u otros hilos deben estar protegidos. Por ejemplo, dado un objeto A, si el hilo 1 está escribiendo en A, entonces se debe evitar que el hilo 2 lea o escriba en A.
Es seguro leer y escribir en una instancia de un tipo aunque sea otro el hilo está leyendo o escribiendo en una instancia diferente del mismo tipo. Por ejemplo, dados los objetos A y B del mismo tipo, es seguro si A se escribe en la secuencia 1 y B se lee en la secuencia 2.
actualizar un conjunto no invalida los iteradores ..... –
En realidad, el estándar indica que agregar o eliminar de un conjunto std :: no invalida ninguno de sus iteradores (con iteradores apuntando a un objeto para ser eliminado siendo la excepción obvia). – suszterpatt
Gracias por el comentario, lo fallé por completo. Aunque tengo que decir que, desde el punto de vista de un implementador, este es un requisito realmente extraño. –