задачка

дан 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, или на ваше усмотрение.
помните, что краткость - сестра таланта.
|
</> |