Concurrency - Livelock

Data System Architecture


Livelock is a forms of thread contention.

A thread often acts in response to the action of another thread. If the other thread's action is also a response to the action of another thread, then livelock may result.

Livelocked threads are:

  • unable to make further progress (As with deadlock)
  • are not blocked — they are simply too busy responding to each other to resume work.

Corridor Example

This is comparable to two people attempting to pass each other in a corridor:

  • Alphonse moves to his left to let Gaston pass, while Gaston moves to his right to let Alphonse pass.
  • Seeing that they are still blocking each other, Alphone moves to his right, while Gaston moves to his left.

They're still blocking each other, so…

Documentation / Reference

Discover More
Data System Architecture
Concurrency - (Thread) Contention

Thread contention occurs when two or more threads try to access the same resource simultaneously and cause the runtime to execute one or more threads: more slowly, or even suspend their execution....
Data System Architecture
Concurrency - Liveness

A concurrent application's ability to execute in a timely manner is known as its liveness. . Java Tuto -...

Share this page:
Follow us:
Task Runner