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 бита.
в общем, всё как в жизни. если нужны какие-то допущения - просто указывайте их, не спрашивайте - час ночи уже, а я погребён под лавиной комментов %)

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

Архив записей в блогах:
Реклама одной прекрасной фирмы, поставляющей канцтовары: Теперь, внимание, вопросы. Кто мужик на фотке и почему ему так рада секретарша? Мы с подругой аж заспорили: он босс, радостно обнаруживающий, что умная секретарша заказала ему клей и ...
Если в че то первые 40 лет детства правда самые тяжелые.. Я проверил. ...
Недавно тут в каком-то сообществе(убей бог не помню в каком) поднялась тема внешнего вида женщины, которая идет ....ммм... ***на свидание(?)*** на встречу с противоположным полом.Важной частью подготовки является имидж.Почитав других женщин-мужчин, я ...
Хуже русского беспорядка русский порядок (автор, кажется, я). Краткое описание положения. 1. Преподаватели замучены мелочным контролем и сверхперегрузкой. Штатные очень быстро деградируют и перестают обучать студентов вообще, занимаясь лишь учебным процессом. Работают реально лишь ...
Велосипедист принял опасное животное за дружелюбную корову. Тони Индербитцин сказал, что он "все еще очень страдает" после страшной встречи во время изнурительной гонки Bianchi Rock Cobbler недалеко от Бейкерсфилда, Калифорния. Всемирно известное восхождение на гору ...