Please enable JavaScript.
Coggle requires JavaScript to display documents.
Problem in Concurrent Programming - Unfairness, Busy waiting, Transient…
Problem in Concurrent Programming - Unfairness, Busy waiting, Transient Errors
Busy waiting
The process of repeatedly executing a loop of code while waiting for an event to occur
Wastes processing power or CPU time
Less prone to error
Harms performances requirements
Desirable for low level programming :
Other codes can’t be executed
Easier to comprehend execution flow
Transient Errors
The program must include a guarantee of good behavior.
Refuse to accept any uncertainty about the order of some performed operation
Experimentation cannot determine the source of error
Error that occurs as a result of a specific implementation of a program activation
Unfairness
Indefinite postponement
(Starvation)
multi-tasking system always switches between the
first two tasks while a third never gets to run
Fairness
all threads should be advancing their
work in almost equal portions
The absent of fairness
Caused by an overly simplistic scheduling algorithm
Definition
What?
Cause
Solution
Definition
Advantages
Disadvantages
Definition
Disadvantage
Solution