«Заходя в ванную, Анжела забыла взять с собой халат. Обычно она может выйти в комнату и в неодетом виде, но, пока она была в ванной, в гости зашёл Антон, которому Анжела должна отдать флэшку, которая лежит у неё в сумочке. Сам Антон в сумочку лезть отказывается, и требует, чтобы флэшку отдала ему Анжела. Без флэшки он не уйдёт. Анжела не может выйти в комнату пока там Антон. Антон ждёт, пока ему отдадут флешку, Анжела ждёт ухода Антона, после которого она может выйти и отдать флешку.»
Что за бред, — подумали вы? А вот завсегдатаи тематического блога Системное программирование уже смекнули о чем речь. Тем, кто сталкивался с параллельным программированием, ситуация знакома до боли — это типичная взаимная блокировка (Deadlock).
В прошлом году мы в Intel Software Network устроили шуточный конкурс «Объясни на пальцах» – нужно было придумать смешное объяснение нескольких «специальных» терминов. Народ здорово оттянулся! Вот еще мне очень понравилось:
«Когда в хоккее судья контролирует, чтобы при очередной смене пятерок, не было превышения численного состава, то есть, в порыве спортивной удали, на лед не выпрыгнула вся команда во главе с тренером, массажистом и дядей Васей — точильщиком коньков»
Угадали термин? (ответ под хабракатом).
Так как в центральной части России установилась жаркая и почти сухая погода, мы решили ненадолго отвлечь вас от дебаггера и немного развлечься. Итак, «Объясни на пальцах v2.0» — новая пачка терминов для толкования и, конечно же, приз самому остроумному — нетбук Lenovo IdeaPad.
Судья в хоккее – это, конечно, семафор. А вот и список лучших объяснений прошедшего конкурса.
Для второй версии мы с коллегами подобрали несколько более абстрактные понятия:
Победитель получит наш главный приз: белый-белый нетбук Lenovo IdeaPad S10. Точно такой же как на картинке, но другой. Есть и пара поошрительных призов.
Уже есть варианты? Тогда милости просим в форум. Хотя… Подождите минуточку. Я не забыл сказать, что наличие чувства юмора является обязательным условием участия в конкурсе? Сказал? Тогда надо рассказать сказать и о других условиях: объяснения должны быть достаточно короткими и предельно корректными. То есть такими, чтобы даже ваша бабушка поняла, в чем разница между многозадачностью и многопоточностью.
Должен сказать, что задачка не так уж и проста, как кажется. Возьмем, к примеру, пул потоков. На ум сразу приходит аналогия с Call-центром, да? Но, строго говоря, нужно как-то объяснить, что пул потоков придуман как раз чтобы уменьшить издержки на создание и удаление потоков, в данном случае – издержки вызова сотрудников на работу. Это я так, на всякий случай… Ну и с чувством юмора в этом объяснении слабовато ИМХО.
Давайте разрушим стереотипы и докажем, что даже у самых суровых программистов есть чувство юмора и творческое начало!
«Объясни на пальцах v2.0»
Всем удачи!
Что за бред, — подумали вы? А вот завсегдатаи тематического блога Системное программирование уже смекнули о чем речь. Тем, кто сталкивался с параллельным программированием, ситуация знакома до боли — это типичная взаимная блокировка (Deadlock).
В прошлом году мы в Intel Software Network устроили шуточный конкурс «Объясни на пальцах» – нужно было придумать смешное объяснение нескольких «специальных» терминов. Народ здорово оттянулся! Вот еще мне очень понравилось:
«Когда в хоккее судья контролирует, чтобы при очередной смене пятерок, не было превышения численного состава, то есть, в порыве спортивной удали, на лед не выпрыгнула вся команда во главе с тренером, массажистом и дядей Васей — точильщиком коньков»
Угадали термин? (ответ под хабракатом).
Так как в центральной части России установилась жаркая и почти сухая погода, мы решили ненадолго отвлечь вас от дебаггера и немного развлечься. Итак, «Объясни на пальцах v2.0» — новая пачка терминов для толкования и, конечно же, приз самому остроумному — нетбук Lenovo IdeaPad.
Судья в хоккее – это, конечно, семафор. А вот и список лучших объяснений прошедшего конкурса.
Для второй версии мы с коллегами подобрали несколько более абстрактные понятия:
- Data decomposition & Functional decomposition
- SIMD & MIMD
- Multitasking & Multithreading
- Busy waiting thread & Sleeping thread
- Thread Pool
- Context Switching
Победитель получит наш главный приз: белый-белый нетбук Lenovo IdeaPad S10. Точно такой же как на картинке, но другой. Есть и пара поошрительных призов.
Уже есть варианты? Тогда милости просим в форум. Хотя… Подождите минуточку. Я не забыл сказать, что наличие чувства юмора является обязательным условием участия в конкурсе? Сказал? Тогда надо рассказать сказать и о других условиях: объяснения должны быть достаточно короткими и предельно корректными. То есть такими, чтобы даже ваша бабушка поняла, в чем разница между многозадачностью и многопоточностью.
Должен сказать, что задачка не так уж и проста, как кажется. Возьмем, к примеру, пул потоков. На ум сразу приходит аналогия с Call-центром, да? Но, строго говоря, нужно как-то объяснить, что пул потоков придуман как раз чтобы уменьшить издержки на создание и удаление потоков, в данном случае – издержки вызова сотрудников на работу. Это я так, на всякий случай… Ну и с чувством юмора в этом объяснении слабовато ИМХО.
Давайте разрушим стереотипы и докажем, что даже у самых суровых программистов есть чувство юмора и творческое начало!
«Объясни на пальцах v2.0»
Всем удачи!