In
concurrent programming, a
critical section is a part of a multi-process program that may not be concurrently executed by more than one of the program's processes. In other words, it is a piece of a program that requires
mutual exclusion of access. Typically, the critical section accesses a shared resource, such as a
data structure, a peripheral device, or a network connection, that does not allow multiple concurrent accesses.