I have a few questions regarding volatile variables which are not long, double
1.is there a possibility of race condition when we write and read- meaning for example- while we read a volatile variable, someone can write a new value and the reading thread will not get the updated value?
2.can 2 writing threads write value and at the end, one of them will overlap the result of the other, also can a volatile be read with many threads at the same time meaning the reading threads overlap and all read the same result at the same time?
3.If we start 5 read and 5 write threads on 1 volatile variable, the result for the readers is unpredictable?