Learning threads, synchronized, volatile and Lock

This file provides explanation for Threads, synchronized methods and blocks, volatile keyword and Lock in Java