Le applicazioni multi-thread sono programmi in grado di eseguire più operazioni contemporaneamente. Questi applicazioni farlo eseguendo più thread (sequenze di istruzioni indipendenti) nel contesto di un singolo processo. I thread sincronizzano le azioni e utilizzano le stesse risorse, ma vengono eseguiti ed eseguiti indipendentemente l'uno dall'altro.
L'esecuzione simultanea migliora le prestazioni e la reattività di un'app. multi-threading consente inoltre ai programmi di sfruttare appieno le risorse disponibili hardware (in particolare i moderni processori multi-core).