Como a wikipedia tem
"Na ciência da computação, um thread de execução é a menor unidade de processamento que pode ser agendada por um sistema operacional. A implementação de threads e processos difere de um sistema operacional para outro, mas na maioria dos casos, um thread está contido em um processo. Vários threads podem existir dentro do mesmo processo e compartilhar recursos como memória, enquanto diferentes processos não compartilham esses recursos.Em particular, os threads de um processo compartilham as instruções do último (seu código) e seu contexto (os valores que suas variáveis referência a qualquer momento.) Para dar uma analogia, vários threads em um processo são como vários cooks lendo o mesmo cookbook e seguindo suas instruções, não necessariamente da mesma página. "
Fonte: Wiki
Para multithreading como envolvido aqui
"Computadores multithreading têm suporte de hardware para executar eficientemente vários threads. Eles são diferenciados dos sistemas de multiprocessamento (como sistemas multi-core) em que os threads precisam compartilhar os recursos de um único núcleo: as unidades de computação, os caches da CPU e o buffer de lookaside de tradução (TLB) Onde sistemas de multiprocessamento incluem múltiplas unidades de processamento completas, o multithreading visa aumentar a utilização de um único núcleo usando o nível de thread e o paralelismo de nível de instrução. combinados em sistemas com múltiplos CPUs multithreading e em CPUs com múltiplos núcleos multithreading. "
Fonte: Wikipedia
Uma explicação bastante simples aqui, em termos de arquitetura de computadores, eu posso entrar em mais detalhes se você perguntar!