задачка

топ 100 блогов ru_programming12.09.2010 а вот такая задачка, кому делать нечего на выходных.

дан non-thread-safe класс UnsafeQueue с методами, конечно, Enqueue и Dequeue. ёмкость очереди конечна; есть метод bool IsFull(). ну и bool IsEmpty(), заодно.

надо написать (на сишарпе) thread-safe wrapper SafeQueue с методами тоже Enqueue и Dequeue, причём так, чтобы они блокировались, когда не могут - то есть, Enqueue чтобы блокировалась, когда IsFull, a Dequeue - когда IsEmpty.

примитивы синхронизации можно использовать любые дотнетовские. предположим для простоты, что мы пишем под 3.5.

для шары кода можно использовать, например, http://pastebin.com, или на ваше усмотрение.

помните, что краткость - сестра таланта.

Оставить комментарий

Архив записей в блогах:
Это картины 16 века. ...
На этой фотографии даже самые горячие поклонники вряд ли узнают звездную Уму. Правда, самые горячие поклонники восхитятся ее смелостью, а вот злопыхательные обыватели, которыми полон наш любимый инет и в расчете на которых мы, блоггирские шкурки, собственно говоря, пишем, возопят: -Ужос. ...
http://government.ru/news/41878/ По мнению Голиковой, на ситуацию повлияли некие «объективные демографические тренды». Какие именно демографические тренды диктуют россиянам нежелание заводить больше детей чиновница не уточнила. Решением проблемы Голикова видит в продвижении ...
В  1477 году в ходе Бургундской войны Рене II Лотарингский разгромил Карла Смелого у стен Нанси. Раздел Бургундии между королевством Франция и Государством Габсбургов. В  1762 году скончалась российская императрица Елизавета Петровна и к власти пришел ...
Господа! Прямо сейчас набирает обороты самый серьёзный заговор в истории человечества. Я уже писал пару дней назад о новом проекте режиссёра Джеймса Кэмерона и одного из основателей Google Ларри Пейджа: http://www.membrana.ru/particle/17922 Внешне выглядит ...