> -- Владимир Лось писал(а):
> Любо! :о)Сергей, а вот посмотрите: думаю не только в вашей демонстрашке, но и в остальных "жизненных примерах" методы Pulse и Exit будут "ходить друг с другом". По-моему, имеет смысл их "слить" в один - Exit...

Да, можно вместо Pulse ввести PulseAndExit, но просто голый Exit тоже надо оставить, он иногда нужен сам по себе.

В приведённом примере Wait & Pulse используются и в Enqueue и в Dequeue потому что размер буфера фиксирован (сигналы посылаются в "оба конца"). Если разрешить размер буфера динамически увеличивать, то Pulse понадобится только в Enqueue (а Wait только в Dequeue; сигналы -- только в одну сторону). Вызов системных функций в Windows очень медленный, так что если есть возможность их не вызывать, то надо этой возможностью обязательно воспользоваться.