Lock Based Synchronization