Мы покрываем многопоточное программирование в классе, который я посещаю. Профессор предложил бонусный вопрос, который я безуспешно пытался выяснить:
Каждый из процессов P0, P1, P2 и P3 должен ждать, пока остальные три не пересекут или достичь определенной точки синхронизации в своем коде, и только тогда этот процесс может пересечь свою собственную точку синхронизации.
Я уже знаю, как ответить на вопрос с четырьмя семафорами, сложная часть - сделать это только с одним семафором.
Любые предложения или советы о том, как действовать?