Колбаса или яйцо ?
Жена посылает программиста за продуктами :
- Купи палку колбасы , и если будут яйца , возьми десяток .
Программист в магазине :
- Дайте мне , пожалуйста , палку колбасы . Спасибо . А яйца у вас есть ?
- Есть .
- Тогда ещё девять палок колбасы .
· продавщица не многозадачная, поэтому яйца не закончатся никогда, ибо программист их не покупает.
· Там же сказано "если будут яйца". Поэтому вопрос "А яйца у вас есть?" неверен. Он должен был спросить "А яйца у вас будут?".
· А на это есть объект "продавщица". Вот пусть тот, кто ее пишет, и заботится о том, как она будет эту проблему решать.
· Программист ложится спать . Ставит два стакана на прикроватную тумбочку.
Один с водой, другой пустой.
Жена спрашивает - зачем с водой?
- Если проснусь ночью и захочу пить.
А зачем пустой?
- Если не проснусь или не захочу пить.
- А системный администратор ставит 4 стакана . Два с водой и два пустых . Первый с водой - если захочет пить . Второй пустой - если не захочет пить. И еще два аналогичных стакана на случай, если не сработает основная система .
- " Если не проснусь " ... Во времена оные этот анекдот не был так беспощаден .
- Жена посылает программиста за продуктами :
- Купи палку колбасы, и если будут яйца, возьми десяток.
Программист в магазине:
- Дайте мне, пожалуйста, палку колбасы.
- Извините, колбасы нет.
- Чорт!
- Тут начнется выполнение произвольного кода .
Продавщица - внешний разделяемый ресурс . Например , палка колбасы нужна для того , чтобы получить exclusive lock на продавщицу колбасы , с целью проверить наличие яиц . Если сразу купить 10 , то транзакция завершится и про яйца мы не узнаем . Я если сразу спросить , то она не ответит (обращайтесь к продавщице яиц , которая на обеде ) . Так что покупкой колбасы мы захватываем ресурс (возможно с ожиданием) , а потом в рамках транзакции (критической секции) узнаём про яйца . Код получается конечно кривой - но уж такая специфика используемого железа .
Жена посылает программиста за продуктами:
- Купи палку колбасы, и если будут яйца, возьми десяток.
Программист в магазине :
- Дайте мне, пожалуйста , десять палок колбасы.
-Дорогой, купи молока!
-Хорошо!
После возвращения из магазина:
- Почему ты не купил молока, но купил пива?
-Я же не программист. Молока не было.
у программиста были яйца
Программист в магазине:
- Дайте мне, пожалуйста, палку колбасы и десяток.
- Вот колбаса, а десятков у нас нет в продаже.
Программист возвращается домой:
- Яиц не было.
Все варианты стихи , если чо ...