• Proces to niezależny program w trakcie wykonywania – ma własną pamięć, zasoby i przestrzeń adresową
  • Wątek to lekka jednostka wykonawcza wewnątrz procesu – dzieli pamięć i zasoby z innymi wątkami tego samego procesu
  • Proces jest cięższy (tworzenie i przełączanie kosztuje więcej zasobów), wątek jest lżejszy
  • Wątki komunikują się łatwo (wspólna pamięć), procesy trudniej (IPC – inter-process communication)
  • Awaria jednego wątku może zepsuć cały proces, awaria procesu nie wpływa na inne procesy

Wątek i proces to dwa fundamentalne pojęcia informatyki i systemów operacyjnych. Oba dotyczą wykonywania programów, ale na różnych poziomach. Proces to cały uruchomiony program, wątek to pojedyncza ścieżka wykonania wewnątrz programu. Zrozumienie tej różnicy jest kluczowe w programowaniu wielowątkowym i na egzaminach z informatyki.

Czym jest proces?

Proces to instancja programu w trakcie wykonywania. Gdy uruchamiasz przeglądarkę, edytor tekstu czy grę – system operacyjny tworzy dla każdego osobny proces. Proces ma własną, izolowaną przestrzeń adresową (pamięć), własne zasoby (deskryptory plików, gniazda sieciowe) i własny kontekst. Procesy są od siebie izolowane – jeden proces nie ma bezpośredniego dostępu do pamięci drugiego.

Czym jest wątek?

Wątek (thread) to lekka jednostka wykonawcza wewnątrz procesu. Jeden proces może zawierać wiele wątków, które wykonują różne zadania równolegle, ale dzielą tę samą pamięć i zasoby procesu. Wątek ma własny stos (stack) i licznik programu, ale współdzieli stertę (heap), zmienne globalne i otwarte pliki z innymi wątkami tego samego procesu.

Tabela porównawcza: wątek vs proces

CechaProcesWątek
DefinicjaInstancja programuJednostka wykonawcza w procesie
PamięćWłasna, izolowanaWspółdzielona z innymi wątkami procesu
ZasobyWłasne (pliki, gniazda)Współdzielone
TworzenieKosztowne (dużo zasobów)Lekkie (mało zasobów)
KomunikacjaTrudna (IPC: pipes, sockets, shared memory)Łatwa (wspólna pamięć)
IzolacjaSilna (awaria nie wpływa na inne)Słaba (awaria wątku = awaria procesu)
Przełączanie kontekstuWolniejszeSzybsze

Najczęściej zadawane pytania (FAQ)

Czym się różni wątek od procesu?

Proces to cały uruchomiony program z własną pamięcią. Wątek to lekka jednostka wykonawcza wewnątrz procesu, dzieląca pamięć z innymi wątkami. Proces jest cięższy i bardziej izolowany, wątek lżejszy ale mniej bezpieczny (awaria wątku może zepsuć cały proces).

Dlaczego używa się wątków zamiast procesów?

Wątki są lżejsze – szybsze w tworzeniu, przełączaniu i komunikacji (współdzielona pamięć). Idealne gdy zadania muszą współpracować i wymieniać dane. Procesy są lepsze gdy potrzebna jest izolacja (np. osobne karty w przeglądarce).

Zobacz również