4
Some conditions may prevent progress in the execution of processes or threads, two of these conditions are called dead-lock
and live-lock
, where what I extracted from information was that, dead-lock
refers to processes that are blocking each other, preventing the execution flow and live-lock
refers to processes that prevent each other from progressing, but do not interrupt the execution.
It wasn’t very clear to me, and I think it would be interesting to talk about it, maybe more people would be interested and so I brought the question here.
- How it works?
- In what scenario is this useful? or even can hinder?
- Can you give any example of this?
You kill a request (can be any execution head, as process, thread or whatever it is) hungry when it doesn’t allow her to move on and not murder him. This means that it can even occur in a single concurrent process with itself. For example, on a crossing with preferential, and you are on
PARE
and have an intense and infinite flow in the preferred, the process of your car will suffer starvation. The same can happen to readers and writers if the system always gives preference to readers and never to some writer– Jefferson Quesado
That answer on the problem of gluttonous philosophers talks about starvation. In fact, I found very humorous the way it was presented
– Jefferson Quesado