tl; dr: Nazywa się je wątkami, ponieważ „wątek” jest trafną metaforą.
Kiedy uruchamiasz wątek, polegasz na systemie operacyjnym, aby przydzielić czas przetwarzania, aby twój wątek mógł wykonać. Podczas wykonywania wątku procesor (lub rdzeń) kładzie całą uwagę na wątek. Gdy system operacyjny przełącza rdzeń na inny wątek, wątek przestaje działać, gdy drugi wątek jest obsługiwany.
A więc egzekucja przeskakuje wszędzie. Ale pomimo tych skoków integralność zestawu instrukcji maszynowych pozostaje nienaruszona, ponieważ budujemy ogrodzenia i mechanizmy współbieżności, aby chronić jego stan oraz stan obiektów, z którymi wchodzi on w interakcje.
Tak więc wątek odnosi się nie do wykonywania instrukcji w danym wątku, ale do instrukcji, które ostatecznie zostaną wykonane w wątku, który utworzyliśmy. Innymi słowy, każdy wątek można traktować jako pojedynczą maszynę lub agenta (nazywamy je lekkimi procesami), bez konieczności myślenia o wszystkich przełącznikach kontekstu, które wykonuje system operacyjny, aby wyglądać, jakby wszystkie były wykonywanie jednocześnie.
Innymi słowy, pomimo całego przeskakiwania, które system operacyjny wykonuje za kulisami, to, co nazywamy wątkiem (sekwencja operacji, które wykonujemy w lekkim procesie), nadal można uznać za tę samą sekwencję operacji, gdybyśmy nie spawnowali wątku, zakładając, że podjęliśmy niezbędną ochronę przed współbieżnością.
Jeśli ten opis wydaje się zbyt ciężki i abstrakcyjny, pomyśl o wątku na forum, takim jak Reddit. Możesz rozgałęziać nowe dyskusje; każda dyskusja ma swój własny wątek. Możesz przeskakiwać między wątkami. Ale każdy wątek nadal zachowuje integralność strukturalną jako indywidualna rozmowa.