I was asked by interviewer is there any danger not to use volatile if we know for sure that threads will never interfere. 
eg. we have:
int i = 10; 
// Thread 1 
i++; 
// await some time and switch to Thread 2
getI();
I don't use any synchronization.
Do we have any danger to receive outdated value of i by second thread?     
 
     
     
    