But volatile can also be modified by you and your code and similarly a global variable can also be used as a variable to monitor external events so how does both are different?