Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the video chapter related to
3-livelock.js
example there is no clear evidence what livelock is and how you may notice it by that example. Had noticed in the comment section that I'm not the only one who mention that.Current
3-livelock.js
example in this repository contains looping recursion that useless by code itself. In other words there is no state that you may compare as normal working processes in difference to livelock.I propose to extend usage example. It becomes more complex but clear to notice livelock and test the difference:
highFrequencyLoop
inconsistency and starvation of thelowFrequencyLoop
).Please review my proposal because I'm not an expert in parallel programming. The articles on the topic of livelock in the internet are quite confusing and controversial. The most well explained that I've found is Deadlock, Livelock and Starvation. I'm trying to figure out how to make more clear and evident test but realizes that my understanding might be wrong.