Ich habe 2 threads, die beide auf den gleichen vector zugreifen, Einer checkt immer nur vector.size() und gibt den Wert aus, der Andere ändert den vector mit .push_back() und .erase().
Es ist mir völlig egal, ob der Wert, den .size() liefert korrekt ist oder nicht, die Ausgabe wird einmal pro Sekunde aktualisiert, und wenn für 1 Sekunde ein falscher Wert anzeigt wird, ist das kein Problem, die Frage ist nur:
Kann ich .size() abfragen, auch wenn im anderen thread gerade ein Eintrag eingefügt oder gelöscht wird, ohne dass das Programm abstürzt, weil irgendein undefiniertes Verhalten aufkommt?
Es ist mir völlig egal, ob der Wert, den .size() liefert korrekt ist oder nicht, die Ausgabe wird einmal pro Sekunde aktualisiert, und wenn für 1 Sekunde ein falscher Wert anzeigt wird, ist das kein Problem, die Frage ist nur:
Kann ich .size() abfragen, auch wenn im anderen thread gerade ein Eintrag eingefügt oder gelöscht wird, ohne dass das Programm abstürzt, weil irgendein undefiniertes Verhalten aufkommt?