Question: what is the difference between critical section and mutex?
Answer: From a theoretical perspective, a critical section is a piece of code that must not be run by multiple threads at once because the code accesses shared resources. A mutex is an algorithm (and sometimes the name of a data structure) that is used to protect critical sections.