This is the best article to understand concurrent programming: Concurrent Programming
You will get the full picture of concurrent programming and C++ after reading it.
As a quick summary, we can say that concurrent programming is to do multitasking. When a program gets blocked, it can do other things. Typically we get blocked while waiting for network connections and dealing with I/O. We can facilitate concurrent programming using fork() and thread libraries.