Livelock

I did not know until this week that there was something called "Livelock"; Eh? I heard of Deadlock what the heck is Livelock? Well it is kind of the opposite of Deadlock (in some respects).

A Deadlock as we know is when say Process A is waiting for Process B to finish or release some resource or something before continuing and Process B in turn is waiting for Process A before it continues – end result neither continues.

Livelock is when Process A is running and is constantly changing e.g. stuck in a very long running or infinite loop and quite often causes resources to run out (a.k.a Resource Starvation).

My classic example of this was when I was using Turbo C 2.0, many moons ago and after a point I could not compile anymore because the compiler was running out of stack space – as the program had grown than big in size. I had to move to Turbo C++ compiler as that could address more than 512 KB or memory which the Turbo C compiler could not. All these years and I did not know I was experiencing a Livelock!

Published by

Amit Bahree

This blog is my personal blog and while it does reflect my experiences in my professional life, this is just my thoughts. Most of the entries are technical though sometimes they can vary from the wacky to even political – however that is quite rare. Quite often, I have been asked what’s up with the “gibberish” and the funny title of the blog? Some people even going the extra step to say that, this is a virus that infected their system (ahem) well. [:D] It actually is quite simple, and if you have still not figured out then check out this link – whats in a name?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.