Most developers can create a thread. Very few understand what actually happens when two threads touch the same object at the same time — or why their code works perfectly in testing and silently ...