Um processo é uma instância de um programa em execução que possui código executável, memória e estado. Processos podem ter múltiplas threads que executam simultaneamente para melhorar o desempenho. Embora threads facilitem o desenvolvimento e otimizem o uso dos recursos do sistema, também tornam o trabalho mais complexo devido à interação entre threads.