For faster navigation, this Iframe is preloading the Wikiwand page for Wielowątkowość.

Wielowątkowość

Z Wikipedii, wolnej encyklopedii

Ten artykuł od 2021-04 wymaga zweryfikowania podanych informacji.Należy podać wiarygodne źródła, najlepiej w formie przypisów bibliograficznych.Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte. Po wyeliminowaniu niedoskonałości należy usunąć szablon ((Dopracować)) z tego artykułu.

Wielowątkowość (ang. multithreading) – cecha systemu operacyjnego, dzięki której w ramach jednego procesu może być wykonywanych kilka zadań nazywanych wątkami. Nowe zadania to kolejne ciągi instrukcji realizowane do pewnego stopnia niezależnie. Wszystkie wątki (zadania) w ramach tego samego procesu współdzielą tą samą wirtualną przestrzeń adresową zawierającą kod programu i jego dane.

Wielowątkowość może także odnosić się do samych procesorów. W takim przypadku oznacza ona możliwość jednoczesnego wykonywania wielu wątków w sposób sprzętowy na pojedynczej jednostce wykonawczej – rdzeniu fizycznym (ang. core). Wielowątkowość w procesorach możliwa jest do zrealizowania dzięki temu, że w danym momencie nie wszystkie części rdzenia są w jednakowym stopniu wykorzystywane przez pojedynczy wątek (ciąg instrukcji, zadanie). Nieaktywne części rdzenia mogą w tym samym czasie wykonywać inny wątek, zwiększając efektywność wykorzystania całego procesora, a tym samym jego wydajność. W zależności od rodzaju technik zastosowanych do obsługi dodatkowych wątków sprzętowych spotyka się od 2 (najczęściej) do nawet 8 wątków realizowanych sprzętowo na pojedynczym rdzeniu fizycznym procesora. Każdy taki wątek realizowany sprzętowo nazywany jest rdzeniem wirtualnym.

Cechy wielowątkowości

  • wszystkie wątki wykonują się w ramach tylko jednego programu (procesu) – innymi słowy jeden proces posiada wiele instancji wykonawczych (wątków)
  • wątki zostały wprowadzone, aby umożliwić przetwarzanie współbieżne, np. gdy zachodzi potrzeba wykonania wielu zadań jednocześnie. Może się to wiązać również ze zwiększeniem wydajności przetwarzania o ile istnieją odpowiednie zasoby sprzętowe (co najmniej wiele procesorów jednordzeniowych lub pojedynczy procesor wielordzeniowy). Należy jednak pamiętać, iż zastosowanie wątków może obniżyć wydajność, ponieważ najczęściej wymagane jest przy tym wprowadzenie odpowiednich mechanizmów synchronizacji, takich jak np. semafory;
  • wszystkie wątki danego procesu współdzielą tę samą wirtualną przestrzeń adresową (mają dostęp do tych samych „egzemplarzy” zmiennych, obiektów i struktur) i korzystają z tych samych zasobów systemowych;
  • komunikacja między wątkami w odróżnieniu od procesów jest bardzo łatwa do wykonania – w przypadku wątków wystarczy odwoływać się do tych samych zmiennych i obiektów – komunikacja między procesami wymaga zastosowania mechanizmów IPC (ang. InterProcess Communication);
  • współdzielenie wirtualnej przestrzeni adresowej niesie zagrożenie – jeden „wadliwy” wątek może zagrozić wykonaniu całego procesu (programu);
  • każdy wielowątkowy system operacyjny zapewnia specyficzne metody synchronizacji wątków, które z wyżej wymienionych przyczyn muszą być bezwzględnie zaimplementowane.

Wielowątkowe systemy operacyjne to m.in. Windows 95, Windows NT i ich następcy, BeOS, Unix i systemy bazujące na jądrze Linux.

Zobacz też

{{bottomLinkPreText}} {{bottomLinkText}}
Wielowątkowość
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.