Cześć. Potrzebuje pomocy przy synchronizacji procesów.

Mam za zadanie napisać program w c++ z biblioteka <widnows.h>, który uruchamia 4 procesy potomne.
P1: zapisuje do pliku test.txt jakiś wektor funkcją SO - WriteFile(...);
P2: odczytuje wektor z pliku test.txt funkcją SO - ReadFile(...);
P3: dopisuje w środek wektora jakieś elementy korzystając z tech. mapowania pliku
P4: odczytuje wektor z pliku test.txt przy pomocy funkcji jeżyka C/C++
Dodatkowo każdy z procesów potomnych ma wykonywać jakieś działania (bez znaczenia jakie).

KODY tych procesów mam już popisane, tylko nie umiem ich zsynchronizować, aby to miało ręce i nogi (dla 2 procesów sobie radzę bezproblemowo).
Mogę używać wszystkich narzędzi synchronizacji od windowsa - eventy, mutexy...

Proszę o radę, pokazanie kierunku w jakim mam iść, aby ten problem rozwiązać.