Question
Which practice avoids a common mistake with Locks and Race Conditions?
- Ignore the Locks and Race Conditions issue and rely on team discipline instead of clearer APIs or invariants.
- Silence the Locks and Race Conditions problem by using broad catches, hidden globals, or extra shared mutable state.
- Prefer the version of Locks and Race Conditions that makes behavior less predictable as long as the code still runs.
- Do not assume the GIL eliminates all race conditions, because multi-step state changes can still interleave incorrectly.
Hint
Look for the option that protects correctness instead of hiding the problem.
Answer and rationale
Correct answer: D. Do not assume the GIL eliminates all race conditions, because multi-step state changes can still interleave incorrectly.
Do not assume the GIL eliminates all race conditions, because multi-step state changes can still interleave incorrectly. This is a common failure mode in real Python code and a frequent interview follow-up.
Track: Python