Procesi se dejansko izvajajo le zaporedno ali pa navidezno vzporedno, kot smo ugotovili v prejšnjem poglavju. Če bi imeli več procesorjev ali jeder v enem procesorju, bi se procesi seveda lahko izvajali tudi vzporedno. S tem pa pridemo do novih izzivov dodeljevanja procesorja in pomnilnika ter same komunikacije med procesi.
V tej učni enoti bomo predstavili probleme, ki se lahko pojavijo pri vzporednem izvajanju procesov (vzporednosti), in kako jih rešiti. V tej učni enoti bomo izzive in rešitve, ki jih uporabljamo pri vzporednem programiranju, predstavili skozi zgodbo o Simonu in Petri, ki bi lahko pravzaprav predstavljala procesa, ki morata sodelovati med izvajanjem. Spoznali bomo štiri načine reševanja – z zaklepanjem, z vmesnikom, s semaforjem in z monitorjem. Predstavili bomo pojem kritičnega območja ter z njim povezane atomične funkcije.
Vstop v kritično območje: kdo bo šel prvi skozi? Ti ali avtobus?