tales from the interview

топ 100 блогов softmaster — 02.02.2010 ещё задачка:
есть буфер, массив байт, для простоты - бесконечный.
написать два метода -
write(byte *data, size_t size); // копируем (добавляем) данные в буфер.
read(byte *data, size_t size); // копируем (убираем) данные из буфера.
релизовать оба метода для многопоточной системы. без блокирования,aka lock free.
бонус: то же, буфер конечного размера, кольцевой (с wrapping).

update:
read=enqueue
write=dequeue
update2:
user mode. 32 битный. cmpxchg есть и умеет 32 бита.
в общем, всё как в жизни. если нужны какие-то допущения - просто указывайте их, не спрашивайте - час ночи уже, а я погребён под лавиной комментов %)

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

Архив записей в блогах:
Пять вечера, а уже стемнело. И первая звездочка на небе вот-вот появится... Всё-таки могло посветить солнце еще пару часиков, чтобы продлить день, а не ...
Корсунь-Скрепный. Апофеоз. Тута НезависимоМыслящиеЛюди изумляются: "Какого хрена вместо апробированных вековечных духовно-геополитических СкрепЪ, как-то: Креста-над-Святой-Софией-и-ПроливовЪ, нам пытаются всучить какой-то(-ую-то) сраный(-ую) Корсунь, про который(-ую) никто и слыхом не слы ...
В Красноярск в начале ноября ненадолго вернулась сухая и временами солнечная погода. Неплохо в такие дни прогуляться по улицам и пофотографировать всякое.. Как-то так обычно у нас и бывает в географическом ...
Да, интрига продолжается!... Вопрос с лишением титула самого популярного внука короля Михая считается самой загадочной историей в жизни Королевской семьи Румынии с 1947 года. Этому способствует отсутствие конкретных фактов и наличие лишь поверхностных формулировок в решении от 1 ...
Как мне сфоткать город чтобы он вместился весь,а то у меня на экране не ...