Los procesos concurrentes pueden competir por recursos o cooperar compartiendo información. La sección crítica es la región del código donde un proceso accede a un recurso compartido. Se deben evitar las condiciones de competencia mediante la exclusión mutua en la sección crítica. Existen soluciones basadas en variables de cerradura, alternancia estricta, semáforos, monitores y paso de mensajes para garantizar la exclusión mutua.