Deadlock
Deadlock means all the concurrent processes are waiting on each other. In that state, the program will never recover without outside intervention.
Livelock
Livelock means all actively performing concurrent operations or concurrent processes are trying to avoid deadlock but it results nothing not moving the state of the program forward.
Starvation
Starvation means the concurrent process can't access to all the required resources to execute.