A critical section is the parts of a program (piece of code) that cannot be executed by more than one process (thread) at a time.
It's also known as:
- a critical region
- or protected section
A critical section typically accesses a shared resource such as a data structure, a peripheral device, or a network connection would lead to unexpected or erroneous behavior (race condition, thread interference), if it was accessed by multiple (concurrent) thread and therefore need to be protected in ways that avoid the concurrent access.