A portion of code that accesses shared resources and must not be executed by more than one thread at a time to prevent data corruption or race conditions.
Borrowed from nuclear engineering where 'critical' meant a dangerous threshold requiring careful control. Computer science adopted this in the 1960s when concurrent programming emerged, emphasizing the dangerous nature of unsynchronized access.
Try Another Word