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

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

Архив записей в блогах:
...
Эмоции... Их нельзя убить, выбросить или закопать. Они присутствуют в человеке с самого его рождения до последнего дня. И они, безусловно, наши друзья. Наш способ выразить своё состояние души в той или иной момент. С самого детства мы слышим фразы "не плачь", "не кричи", "хватит ...
а мне похуй, я взял удочки и так даже хорошо, ведь либероиды обычно мало зарабатывают, ну кроме алисобелито разве, так если бензик подорожает, то на дорогах останется меньше пятой колонны и нам станет просторнее ездить, это хороше же. ну а пенсионеры, что пенсионеры, пусть покупают себе ...
В Германии накрыли сеть ультраправых заговорщиков, планировавших захватить бундестаг. Это сегодня знают все, потому что в айнзацкоманду задержания входил популярный журналист, который все красочно описал. - Если Джеймс Бонд - самый известный шпион, то он - самый плохой шпион? ...
Разработанная правительством 30 лет назад программа ограничения рождаемости принесла китайскому обществу множество серьёзных проблем и различных, негативных явлений. Проблема старения населения ложится тяжёлым бременем на молодое ...