> -- Илья Ермаков писал(а):
> Сергей, а попробуйте вместо Event мои семафоры из SP4...

Это вот на них:
## Код:
```
Semaphore = POINTER TO ABSTRACT RECORD 
  (sem: Semaphore) POST (n: INTEGER), NEW, ABSTRACT;
  (sem: Semaphore) WAIT, NEW, ABSTRACT
END;
```
?

Мне кажется, что их функциональности недостаточно.
1) Нужна возможность атомарно вызвать POST(1) одного семафора затем WAIT другого: PostAndWait(postSem, 1, waitSem).
2) Что-то я никак не соображу как можно разбудить все потоки заснувшие на WAIT, ведь я не знаю их количества. Вроде нужна PostAll - будит всех.