In an attempt to fundamentally understand any concept, I try to understand the meaning of the words within the context it is being used.  Currently, I am trying to fundamentally understand the whole acquire/release semantics since I briefly touched upon this in school.According to this article on MSDN, an operation has Acquire Semantics if other processors will see the effect of its change before the changes of any other operation.On the otherhand, an operation has Release Semantics if other processors will see the effect of any preceding operation before seeing the effect caused by this operation.I get it but the question is: what do the terms acquire and release relate to any of this?  If I were to explain this concept to say my daughter in grade 8, how do I translate these terms to their actual meanings? 
Clarification on Acquire/Release Semantics in multithreaded programming
design;programming practices;multithreading
The reference is to some resource that fundamentally cannot be held by two agents simultaneously. The classical example is a lock, mutex, semaphore or similar construct, and the canonical use case is making a money transfer. If you acquire an unsharable resource before subtracting and adding the amount from the two accounts, and don't release it until afterwards, and all operations on the accounts require that resource, then it's guaranteed that the amount of money in your system stays constant (as it should as per the principles of accounting). This is a good thing. Since most solutions of the consistency problem come down to variations of such am unshareable resource, Acquire and Release semantics apparently are a shorthand of talking about them, without mentioning locs at all (I didn't know this before, but it sounds quite reasonable).