STL non ha un supporto thread incorporato, quindi sarà necessario estendere il codice STL con i propri meccanismi di sincronizzazione per utilizzare STL in un ambiente con multithreading.
ad esempio esaminare qui: link text
Da set è una classe contenitore MSDN ha seguito da dire sulla sicurezza filo dei contenitori.
Un singolo oggetto è thread-safe per la lettura da più thread. Ad esempio, dato un oggetto A, è sicuro leggere A dal thread 1 e dal thread 2 contemporaneamente.
Se un singolo oggetto viene scritto da un thread, tutte le letture e le scritture su quell'oggetto sullo stesso o su altri thread devono essere protette. Ad esempio, dato un oggetto A, se il thread 1 sta scrivendo su A, il thread 2 deve essere impedito dalla lettura o scrittura in A.
È sicuro leggere e scrivere su un'istanza di un tipo anche se un altro thread sta leggendo o scrivendo su un'istanza diversa dello stesso tipo. Ad esempio, dati gli oggetti A e B dello stesso tipo, è sicuro se A viene scritto nella discussione 1 e B viene letto nella discussione 2.
aggiornamento di un set non invalida gli iteratori ..... –
In realtà, lo standard afferma che l'aggiunta o l'eliminazione da un oggetto std :: set non invalida nessuno dei suoi iteratori (con gli iteratori che puntano a un oggetto su essere cancellato essendo l'ovvia eccezione). – suszterpatt
Grazie per il commento, l'ho completamente distrutto. Anche se devo dire, dal punto di vista di un implementatore questo è un requisito davvero strano. –