Wielowątkowość: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
poprawa błędu, literówki: "samafory" -> "semafory"
m -
Linia 7:
* 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. [[Semafor (informatyka)|semafory]];
* wszystkie wątki danego procesu współdzielą tą samą wirtualną [[Przestrzeń adresowa|przestrzeń adresową]] (mają dostęp do tych samych „egzemplarzy” [[Zmienna (informatyka)|zmiennych]], [[Obiekt (programowanie obiektowe)|obiektów]] i [[Struktura (programowanie)|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 [[Komunikacja międzyprocesowa|IPC]] ([[język angielski|ang.]] ''InterProcess Communication'');
* współdzielenie wirtualnej [[Przestrzeń adresowa|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 [[synchronizacja|synchronizacji]] wątków, które z wyżej wymienionych przyczyn muszą być bezwzględnie [[Implementacja (informatyka)|zaimplementowane]].
Linia 15:
== Zobacz też ==
* [[wielozadaniowość]]
* [[Hyper-threading|Hyper-Threading]]
* [[POSIX Threads]]