In reply to astoddard:
Yes, it can be shared by multiple modules and the final updated value of the x will be 8.
PS: For readability purpose, it’s advisable to use the variable with package name and scope resolution operator, like p::x instead of x.