Concurrency is having multiple threads of execution for a given process. As of today, C++ does not directly support it. However, several libraries exist that will tie a given function to a new thread of execution. We look into threads, race condition, mutex, atomicity, asynchronous tasks