Il metodo con il quale vengono elaborati processi multipli e separati (chiamati tread) all'interno della stessa applicazione. Ciascuna elaborazione contiene quindi singole parti di codice (della stessa applicazione) in esecuzione in modo indipendente (thread). Il multithreading puņ avvenire su singolo processore o su processori diversi in contemporanea. I singoli thread devono ovviamente condividere le risorse di sistema, e questo coinvolge strettamente il sistema operativo che, a seconda dell'architettura, gestisce in modo diverso il multithreading.