In informatica la concorrenza è una caratteristica dei sistemi di elabvorazione nei quali può verificarsi che un insieme di processi o sottoprocessi computazionali sia in esecuzione nello stesso istante. Tale sistema viene appunto chiamato sistema a concorrenza o sistema concorrente. L'esecuzione contemporanea può condurre a interazione tra processi quando viene coinvolta una risorsa condivisa.
Nell'ambito della programmazione concorrente la comunicazione interprocesso è di fondamentale importanza per gestire correttamente possibili situazioni di accesso a risorse condivise. I sistemi concorrenti mettono a disposizione delle primitive di comunicazione che permettono di alternarsi (escludendosi a vicenda) nell'accesso ad una risorsa condivisa oltre a primitive di sincronizzazione che permettono di intervenire sulla sequenza secondo la quale avverranno determinati eventi. Ogni sistema concorrente implementa e mette a disposizione le proprie primitive, ma nonostante ciò i sistemi si rifanno ad una base teorica comune. Per questo è possibile creare una panoramica d'insieme.