Hi.
Ik heb een simpele vraag over multithreading in C++.
Ik snap dat complexe datatypen met dynamische geheugen allocatie noot tegelijk gelezen en geschreven mogen worden. Het is me echter niet geheel duidelijk of dit ook voor primitieven zoals een int het geval is.
Stel je hebt een int X en thread A en thread B.
Int X is NIET beschermt door semaforen en zit in de scope van zowel thread A als thread B.
Thread A schrijft met enige regelmaat naar X. De mogelijke waarden voor X die A kan schrijven zijn 3, 15, 200 en 5000.
Thread B leest met enige regelmaat int X.
Zal thread B nu ALTIJD een waarde van 3, 15, 200 of 5000 zien, of kan het theoretisch gebeuren dat B ooit een heel andere waarde ziet omdat A net bezig is met schrijven?
Alvast bedankt.
Ik heb een simpele vraag over multithreading in C++.
Ik snap dat complexe datatypen met dynamische geheugen allocatie noot tegelijk gelezen en geschreven mogen worden. Het is me echter niet geheel duidelijk of dit ook voor primitieven zoals een int het geval is.
Stel je hebt een int X en thread A en thread B.
Int X is NIET beschermt door semaforen en zit in de scope van zowel thread A als thread B.
Thread A schrijft met enige regelmaat naar X. De mogelijke waarden voor X die A kan schrijven zijn 3, 15, 200 en 5000.
Thread B leest met enige regelmaat int X.
Zal thread B nu ALTIJD een waarde van 3, 15, 200 of 5000 zien, of kan het theoretisch gebeuren dat B ooit een heel andere waarde ziet omdat A net bezig is met schrijven?
Alvast bedankt.