What is Starvation?

Starvation in the context of multi-threading is the situation where a thread never gets a fair chance of getting a lock.

In Java, Lock interface, we can implement fairness by passing true to the ReentrantLock constructor.