Aplicativos multithread são programas capazes de realizar várias operações ao mesmo tempo. Esses Aplicativos faça isso executando vários threads (seqüências independentes de instruções) no contexto de um único processo. Threads sincronizam ações e usam os mesmos recursos, mas rodam e executam independentemente um do outro.
A execução simultânea melhora o desempenho e a capacidade de resposta de um aplicativo. multi-threading também permite que os programas aproveitem ao máximo os recursos disponíveis Hardwares (particularmente processadores multi-core modernos).