tl; dr: Eles são chamados de threads porque "thread" é uma metáfora adequada.
Ao iniciar um encadeamento, você depende do sistema operacional para alocar o tempo de processamento para que seu encadeamento possa ser executado. Enquanto o encadeamento estiver em execução, o processador (ou núcleo) está colocando toda a atenção no encadeamento. Quando o sistema operacional alterna o núcleo para um thread diferente, o thread pára de executar enquanto o outro thread está sendo atendido.
Então a execução salta por todo o lado. Mas a integridade do conjunto de instruções da máquina permanece intacta, apesar desses saltos, porque construímos cercas e mecanismos de concorrência para proteger seu estado e o estado dos objetos com os quais ele interage.
Portanto, o encadeamento se refere, não à execução de instruções em qualquer encadeamento específico, mas às instruções que eventualmente serão executadas no encadeamento que criamos. Cada encadeamento, em outras palavras, pode ser pensado como uma máquina ou agente individual (os chamamos de processos leves), sem ter que pensar em todas as alternâncias de contexto que o sistema operacional está executando para dar a aparência de que são todas. executando simultaneamente.
Em outras palavras, apesar de todo o salto que o SO faz nos bastidores, o que chamamos de thread (a sequência de operações que estamos executando em um processo leve) ainda pode ser pensado como a mesma sequência de operações, se não tivéssemos gerado o encadeamento, assumindo que tomamos as proteções de concorrência necessárias.
Se essa descrição parecer muito pesada e abstrata, pense em um tópico em um fórum, como o Reddit. Você pode ramificar novas discussões; cada discussão é seu próprio tópico. Você pode pular para frente e para trás entre os threads. Mas cada segmento ainda mantém sua integridade estrutural como uma conversa individual.