Um aplicativo pode ser instanciado em vários processos, que
compartilham o mesmo código, mas cada um deles é uma
atividade diferente, com seus dados e valores de entradas e
saída. Por sua vez, um programa pode possuir várias threads,
que compartilham a mesma área de dados, e cada uma dessas
threads representa uma linha de execução de uma tarefa
específica dentro do programa.