Vou usar muito texto do livro Conceitos de sistemas operacionais, de ABRAHAM SILBERSCHATZ, PETER BAER GALVIN e GREG GAGNE, juntamente com meu próprio entendimento das coisas.
Processo
Qualquer aplicativo reside no computador na forma de texto (ou código).
Enfatizamos que um programa por si só não é um processo. Um programa é uma entidade passiva, como um arquivo que contém uma lista de instruções armazenadas no disco (geralmente chamado de arquivo executável).
Quando iniciamos um aplicativo, criamos uma instância de execução. Essa instância de execução é chamada de processo. EDIT: (De acordo com minha interpretação, análoga a uma classe e uma instância de uma classe, a instância de uma classe sendo um processo.)
Um exemplo de processo é o do Google Chrome. Quando iniciamos o Google Chrome, três processos são gerados:
• O processo do navegador é responsável por gerenciar a interface do usuário, bem como as E / S de disco e de rede. Um novo processo do navegador é criado quando o Chrome é iniciado. Somente um processo do navegador é criado.
• Renderer processos conter a lógica para renderizar páginas web. Assim, eles contêm a lógica para lidar com HTML, Javascript, imagens e assim por diante. Como regra geral, um novo processo de renderizador é criado para cada site aberto em uma nova guia e, portanto, vários processos de renderizador podem estar ativos ao mesmo tempo.
• Um processo de plug-in é criado para cada tipo de plug-in (como Flash ou QuickTime) em uso. Os processos de plug-in contêm o código para o plug-in, bem como o código adicional que permite que o plug-in se comunique com os processos do renderizador associado e com o processo do navegador.
Fio
Para responder a isso, acho que você deve primeiro saber o que é um processador. Um processador é a peça de hardware que realmente executa os cálculos. EDIT: (Computações como adicionar dois números, classificar uma matriz, basicamente executar o código que foi escrito)
Agora, vamos para a definição de um thread.
Um encadeamento é uma unidade básica de utilização da CPU ; compreende um ID de thread, um contador de programa, um conjunto de registradores e uma pilha.
EDIT: Definição de um tópico no site da intel:
Um Encadeamento, ou encadeamento de execução, é um termo de software para a sequência ordenada básica de instruções que podem ser passadas ou processadas por um único núcleo da CPU.
Portanto, se o processo do Renderer do aplicativo Chrome classificar uma matriz de números, a classificação ocorrerá em um thread / thread de execução. (A gramática sobre tópicos parece confusa para mim)
Minha interpretação das coisas
Um processo é uma instância de execução. Threads são os trabalhadores reais que realizam os cálculos via acesso à CPU. Quando há vários threads em execução para um processo, o processo fornece memória comum.
EDIT:
Outras informações que eu achei úteis para dar mais contexto
Todos os computadores modernos têm mais de um thread. O número de threads em um computador depende do número de núcleos em um computador.
Computação simultânea :
Da Wikipedia:
A computação simultânea é uma forma de computação na qual várias computações são executadas durante períodos de tempo sobrepostos - simultaneamente - em vez de sequencialmente (uma conclusão antes do início da próxima). Essa é uma propriedade de um sistema - pode ser um programa individual, um computador ou uma rede - e há um ponto de execução separado ou "thread de controle" para cada cálculo ("processo").
Então, eu poderia escrever um programa que calcula a soma de 4 números:
(1 + 3) + (4 + 5)
No programa para calcular essa soma (que será um processo em execução em um encadeamento de execução), posso bifurcar outro processo que pode ser executado em um encadeamento diferente para calcular (4 + 5) e retornar o resultado ao processo original, enquanto o O processo original calcula a soma de (1 + 3).