Co to jest wielowątkowość?
W świecie komputerów wielowątkowość polega na tworzeniu nowego wątku wykonania w ramach istniejącego procesu, a nie na rozpoczynaniu nowego procesu w celu uruchomienia funkcji. Zasadniczo zadanie wielowątkowości ma na celu mądrzejsze wykorzystanie zasobów komputerowych poprzez umożliwienie jednoczesnego wykorzystania zasobów, które są już w użyciu, przez niewielką odmianę tego samego procesu. Podstawowa koncepcja wielowątkowości istnieje już od jakiegoś czasu, ale zyskała szerszą uwagę, gdy komputery stały się bardziej powszechne w dekadzie lat dziewięćdziesiątych.
Ta forma multipleksowania z podziałem czasu tworzy środowisko, w którym program jest skonfigurowany tak, aby umożliwić procesom rozwidlenie lub podział na dwa lub więcej wątków wykonania. Równoległe wykonywanie wątków w tym samym programie jest często reklamowane jako bardziej wydajne wykorzystanie zasobów systemu komputerowego, szczególnie w komputerach stacjonarnych i laptopach. Umożliwiając programowi obsługę wielu zadań za pomocą modelu wielowątkowego, system nie musi zezwalać dwóm osobnym programom na inicjowanie dwóch oddzielnych procesów i musi korzystać z tych samych plików w tym samym czasie.
Chociaż istnieje wielu zwolenników wielowątkowości, są też tacy, którzy rozumieją ten proces jako potencjalnie szkodliwy dla zadania obliczeniowego. Podział czasu, który jest nieodłączny od umożliwienia rozdzielenia rozwidlenia lub wątku od uruchomionego procesu, jest przez niektórych uważany za ustawienie okoliczności, w których może wystąpić konflikt między wątkami podczas próby współużytkowania pamięci podręcznej lub innych zasobów sprzętowych. Istnieje również obawa, że działanie wielowątkowości może obniżyć czas odpowiedzi każdego wątku w procesie, skutecznie negując wszelkie oszczędności czasu generowane przez konfigurację.
Jednak wielowątkowość pozostaje jedną z opłacalnych opcji wielozadaniowości komputera. Procesor pozwala nie tylko na wielowątkowość, ale także na tworzenie nowych procesów do obsługi różnych zadań. Pozwala to użytkownikowi końcowemu na wszystkie korzyści związane z przełączaniem kontekstu przy jednoczesnym najlepszym wykorzystaniu dostępnych zasobów.