Synchronizacja i komunikacja pomiędzy procesami i wątkami
• Komunikacja - przesyłanie komunikatów (tokenów?) pomiędzy współpracującymi/współzawodniczącymi wątkami lub procesami. Komunikacja synchroniczna i asynchroniczna.
• Synchronizacja - zapewnienie pożądanych zależności czasowych wykonujących się procesów lub wątków. Synchronizacja = uporządkowanie w czasie
Kiedy synchronizacja jest niezbędna?
• Gdy procesy współdzielą wspólne struktury danych (np. zmienne globalne) lub współzawodniczą w dostępnie do wspólnego zasobu/struktury. Dlaczego synchronizacja jest w takich przypadkach konieczna?
• Pewne procesy dostarczają dane dla innych procesów.
Uwaga 1: Programowanie współbieżne obejmuje również zaprojektowanie i implementację komunikacji i/lub synchronizacji procesów lub wątków.
Uwaga 2: W ogólności programista nie może zakładać określonej kolejności wykonania się procesów/wątków. Należy zakładać losowość.