It's a programming approach where a set of computations can be performed simultaneously. These set of computations might share the same resources such as memory. How's it different from sequential programming? In sequential programming, every computation can be performed one after another. In the case of concurrent programs, more than one computation can be performed in the same time period.
By executing multiple computations, we can perform multiple logical operations in the program at the same time, resulting in better performance. Programs can run faster than before. This may sound cool; concurrency actually makes implementing real scenarios easier. Think about an internet browser; we can stream our favorite videos and download some content at the same time. The download thread does not affect the streaming of the video in any way. This is possible...