Задание конкурса "Объясни на пальцах"
Итак, задание: необходимо доступно и с юмором объяснить «сложные» термины из области параллельного программирования -
- Deadlock
- Data Race
- Lost Signal
- Abandoned Lock
- False Sharing
- Critical section
- Read/Write Mutex
- Semaphore
Например, Deadlock (взаимная блокировка): Васе и Пете нужно сделать курсовики по программированию. Чтобы сделать курсовик, нужны методичка и учебник. Вася взял в институтской библиотеке последний учебник, а Петя – последнюю методичку. Таким образом, произошла взаимная блокировка, - обоим пришлось идти в академ.
Или, еще пример, Read/Write Mutex: В мужском туалете несколько кабинок. Чтобы убраться в туалете, уборщица должна дождаться пока все кабинки освободятся. Те, кто в кабинках, выставляют Mutex (красный сектор на замке кабинок), на «чтение». Как только они закончили, уборщица выставляет свой Mutex (табличка «технический перерыв 15 минут»), получая эксклюзивный доступ к ресурсу на «запись».
Не ограничивайте вашу фантазию – вы можете использовать любые жизненные примеры, присылать картинки и комиксы, рисовать Flash ролики, и так далее. Главное, чтобы материал был изложен доступно, технически корректно и по возможности - коротко. Для участия в конкурсе достаточно объяснить один термин, но на призовые места могут рассчитывать лишь те, кто проявит волю к победе и полностью раскроет тему.
Полный текст задания, а также информацию о призах можно прочитать тут.
Да, я предлагаю оставить данную ветку форума исключительно для обсуждения самого конкурса и связанных с ним процедурных вопросов. Принимать и обсуждать "объяснения" мы будем в соседнем треде. Удачи!
Dmitry Oganezov |