Programowanie asynchroniczne to strategia odroczenia operacji o dużym opóźnieniu lub niskim priorytecie, zwykle w celu poprawy wydajności, szybkości reakcji i / lub możliwości komponowania oprogramowania. Takie strategie są zwykle stosowane przy użyciu pewnej kombinacji programowania sterowanego zdarzeniami i wywołań zwrotnych oraz opcjonalnie z wykorzystaniem współbieżności za pośrednictwem programów i / lub wątków.