critical sections
Ambiguities:
- What is the difference between a re-entrant and a thread-safe function?
- What is the difference between a semaphore and a mutex?