53.2k views
5 votes
Which of the following is not a requirement for any solution to the thread synchronization problem?

a. busy waiting
b. safety bounded
c. waiting liveness/progress

User Eveleen
by
7.6k points

1 Answer

4 votes

Final answer:

Busy waiting is not a requirement for a solution to the thread synchronization problem; it is an inefficient method of synchronization.

Therefore, the correct answer is: option a. busy waiting

Step-by-step explanation:

Busy waiting is a synchronization technique where a thread repeatedly checks a condition in a loop (a practice known as spinning) until some state is changed by another thread. This is considered inefficient as the waiting thread consumes CPU cycles doing nothing.

On the other hand, safety and liveness/progress are fundamental requirements of synchronization. Safety ensures that the system is always in a valid state and only legitimate operations are performed. Liveness (also referred to as progress) ensures that threads waiting to enter their critical sections will eventually be able to proceed.

So, out of the options given, busy waiting is what is not a requirement for a solution to be acceptable for thread synchronization.

User Tsp
by
7.7k points