Wpis z mikrobloga

Załóżmy, że mam wektor z 4 elementami. W aplikacji mam 4 wątki, każdy z tych wątków zajmuje się aktualizowaniem tylko jednego elementu tego wektora. Ponadto jest jeszcze jeden wątek, który pobiera dane z elementów wektora i wysyła je na serwer.

No i tutaj pojawia się pytanie - czy coś takiego jest bezpieczne, czy trzeba dodać jakieś zabezpieczenia zapisu/odczytu z wektora?
#cpp #programowanie
  • 13
@Crypton3: W przypadku integera zmiana może być nieatomowa, co znaczy, że wątek czytający dostanie część liczby przed zmianą przez inny wątek a część po zmianie. (Zależy od wielkości słowa procesora i liczby bitów liczby)
czy coś takiego jest bezpieczne


@Crypton3: Z tego opisu wynika, że nie, bo jeden wątek może zapisywać element w trakcie gdy wątek wysyłający będzie chciał go odczytać.