Warto dodać, że zdecydowana większość programów jest jednowątkowych. To czy program jest wielowątkowy zależy od tego czy programista (lub oczywiście zespół) uznał, że będzie to przydatne i przedewszystkim zaprojektował program tak, aby skorzystać z mechanizmów wielowątkowości. A co do przedmówcy:
1. w jednym cyklu jest wykonywana tylko jedna instrukcja na rdzeń. Pewnie chodziło Ci o to, że kilka wątków jest wykonywanych "jednocześnie" w obrębie jednego procesu.
2. Długich obliczeń nie rozbija się na poszczególne wątki. Opłaca się dopiero przy operacjach o dużej złożoności czasowej, jeśli algorytm na to pozwala, użyć akceleracji GPU.
Zresztą akcelerację warto stosować dopiero do fizyki w grach czy grafiki w CAD czy photoshopie. W innych zastosowaniach domowych jest mało prawdopodobne obliczanie czegoś na tyle długo, aby programiście opłacało się bawić w dodawanie wielowątkowości. Już nie mówiąc o tym, że niektórzy programiści nawet się nie bawią aby użyć najszybszego algorytmu, bo i tak to potrwa tak krótko, że po co

Warto pamiętać, że proces i wątek znacznie się różnią. Proces ma własną przestrzeń adresową. Zazwyczaj jest jeden proces na program. Przełączenie pomiędzy jednym wątkiem a drugim jest znacznie krótsze niż przełączenie procesów. Wątków natomiast może być mnóstwo w zależności od konieczności, ale wszystkie są w obrębie jednego procesu i posiadają wspólną przestrzeń adresową i jak się dobrze nie przemyśli programu to mogą wystąpić konflikty pamięci.
Najczęściej jeden wątek na GUI, a akcje wywołane w GUI jeśli wymagają sporo czasu puszcza się w nowy wątek. W ten sposób użytkownik może swobodnie dalej pracować a reszta się dzieje w tle programu.
Do kolegi 2 niżej:
1. Program sam się nie nauczy korzystać z rdzeni. Albo programista to zaimplementował, albo nie. Informatyka to nie filmy sci-fi, gdzie roboty się "buntują". Każdy komputer postępuje według określonego programu i każdy nawet najbardziej "inteligentny system" miał wybitnie mądrego gościa który opracował algorytm tej inteligencji
2. Procesor nie ma ulubionych rdzeni. Po prostu korzysta zazwyczaj z tego podstawowego (czyli jak to zwykle w informatyce oznaczonego jako 0). Jeśli może to wtedy używa innych. A jeśli aktualnie używane programy tego nie wymagają to pozostałe czekają.
3. Jeśli procesor nie jest przegrzany i ma wystarczające zasilanie to w każdym momencie jest w stanie wskoczyć na maksymalne taktowanie. Tyle, że teraz producenci procesorów umieszczają mechanizmy oszczędzania energii i bardzo często procesor chodzi na 1/3 swojego taktowania. I wiele razy w ciągu sekundy może się przestroić.
A elektromechanik komputerowy to mistrzostwo

Btw. Chyba trochę odbiegliśmy od tematu
