Motywacja i korzyści programowania równoległego i współbieżnego
• Interakcyjność systemu / zdolność do reagowania: Wielowątkowość może umożliwiać interakcję z użytkownikiem mimo zablokowania części aplikacji lub wykonywania przez nią długich operacji. Przetwarzanie współbieżne (nawet w środowiskach jednoprocesorowych) pozwala na dekompozycję funkcjonalną zadań/programów (niezależne przetwarzanie danych, operacje 10, komunikacja z użytkownikiem, etc.). Przykład: edytory tekstu, aplikacje webowe,...
• Przyspieszenie obliczeń: Przetwarzanie współbieżne/równoległe może zapewnić przyspieszenie obliczeń w stosunku do przetwarzania sekwencyjnego. Rosną wymagania dotyczące szybkości i liczby wykonywanych zadań/operacji. Model programowania wielowątkowego daje duże możliwości
• Wykorzystanie architektury wieloprocesorowej: Korzyści z wielowątkowości zwiększają się w architekturach wieloprocesorowych, gdzie każdy wątek może działać na odrębnym procesorze
• Intuicyjność modelowania: Model współbieżny rozwiązania pewnych problemów jest modelem najbardziej naturalnym i najbliższym rzeczywistemu problemowi (modelowanemu zjawisku). Wielka liczba procesów rzeczywistych ma naturę współbieżną/równoległą, np. procesy produkcyjne/operacyjne, procesy biologiczne
• Ekonomia przetwarzania: podział na wątki oszczędza czas zarządzania aplikacji