Implementing merge sort sequentially and multi threaded. Implementing LRU Cache with synchronization and locks