Pull to refresh

Comments 439

Видимо это очень смешно, жаль я не понимаю о чём это... =(
это С#. и настоящий WTF. lock ("Place Order") - бессмыслица жуткая
Что делает оператор lock?
запрещает доступ к ресурсу, указанному в аргументе, другим потокам, пока текущий поток не выполнит операции в части кода, ограниченной lock'ом
это я всмысле шутку понял ;-)
краткость сестра таланта (с)
UFO just landed and posted this here
Человеческие языки программрования. Человеческие.
программирования языки. ПрограммИрования.
опечатался я, не надо делать из меня идиота, не первый год программирую.
Я тоже не очень... так сказать... не очень люблю .Net. А какой язык хорош?

А то я для web в основном...
На программирования языке. ПрограммИрования. =)
Просто человечный язык программирования немного смешно звучит.
очень даже практично звучит. сколько на свете историй, когда девушек спаивают и программируют на секс :))
это что-то вроде synchronized section в Яве?
с явой не знаком, по названию - оно, наверное. В общем случае (для win32) это красивая обертка для Crytical Section
чепуха! вовсе он не запрещает доступ к ресурсу, указанному в аргументе. аргумент - всего лишь объект синхронизации. И что вообще значит "запретить доступ к ресурсу"?
аргумент - любой объект. Да, у него где-то внутри есть примитив/объект синхронизации, критическая секция например.
Запретить доступ к ресурсу - хм, ну другой поток, который попытается выполнить код, ограниченный lock'ом, вынужден будет ждать.
Но вы то написали "запрещает доступ к ресурсу, указанному в аргументе, другим потокам..." - хотя может я просто не понял фразы :)
В любом случае объект синхронизации остается очень даже доступным. Критической секции не создается для отдельного объекта - это сочли неоптимальным - вместо этого в поле SyncBlockIndex у каждого объекта хранится индекс критической секции из кэша(если он не участвует в синхронизации то SyncBlockIndex==-1).
http://msdn.microsoft.com/en-us/magazine…
lock ("string") MSDN <a href="http://msdn.microsoft.com/en-us/library/c5kehkcz.aspx"упоминает</a>, как common practice, естественно, осуждая при этом.
Давно не имел дела с .NET, но насколько я понимаю, строка интернируется и полной бессмыслицей назвать код нельзя.
мне почему-то кажется, что переменную не ссылочного типа использовать не получится, даже если она становится статической переменной. может я не прав. в любом случае это очень неочевидный, а следовательно не очень хороший код для поддержки, даже если он таки работает правильно. но мысль интересная, надо будет проверить как такой код себя ведет
System.String — ссылочный тип.
да, действительно. и этот пример конкретно описан в описании lock. значит никакой это не WTF, а нормальный код. я поторопился)
Как-то работающий — это ещё не значит нормальный.
не как-то, а очевидным, описанным в документации образом.
И всё таки! Кто нить обьясните в чём соль!

З.Ы: А ты понимаешь в чём соль %username%?
UFO just landed and posted this here
Из %username% получается три пачки соли.
И одна пачка сахара...
И несколько килограмм отличного мыла!
«Кролики — это не только ценный мех, но и три-четыре килограмма диетического легкоусваиваемого сала.»
а почему не 5 литров уксуса?
и три киллограмма гвоздей
UFO just landed and posted this here
«Ответ на главный вопрос жизни, вселенной и всего такого» (с)?
хабр официально сменил ответ на этот вопрос.
UFO just landed and posted this here
да будет так!
1. Рейтинг статьи от 10 до 15 (по модулю).
2. Карма автора от 7 до 10 (по модулю).
3. Перемещение в «Юмор на Хабрахабре» или в новый коллективный блог «КодоБредоБред» (в случае, если сознательные хабраграждане спасут карму автора).
Пока +21 и +15. Не угадал :)
Хоть переместить уговорите, а то ведь совсем прогорели :)
UFO just landed and posted this here
да вроде и так все написано, lock ("Place Order") { // some code } что непонятного ?
С ним лучше всех 8)
Шедеврально! Плюсанул статью, пока ее не заминусовали :)
Это надо вообще на главную, такое не каждый день увидишь
Много нового узнал :)
Полностью с солидарен с Вашей точкой зрения. Подача материала великолепна. Что-либо близкое по уровню я не встречал, наверное, со времени чтения McConnell'а.
Коллега, ведь мы наблюдаем с вами по истине революционный момент в истории технической литературы.
Lock ещё долго будут приводить в пример другим писателям и заслуженно считать классикой жанра.
Подозреваю, благодаря краткости и запоминаемости сего шедевра он станет локальным мемом. (:
Согласен. Да пребудет с тобою Лок ))
Да в ЛОК тебя.......
Да-да! Хоть стиль немного "официальный", суховатый, но, как вы выразились, подача его великолепна! Ну и к концовке чуть придерусь, как-то она замята.
А я улавливаю нотки инжира и присутствие корочки абхазского граната.
вы смеетесь, а я весь плюсомет расстрелял, включая карму. Через GPRS. Убейте меня :)
вам смешно, а я весь свой плюсомет расстрелял. Через gprs. Убейте меня :)
А почему сейчас уже не включая карму и gprs маленькие?
Чтобы траффик сэкономить =)
"Стоп, но ведь упоминание о карме и большие буквы в каментах не доводят на хабре до добра", — неожиданно подумал %username%
Экранная клавиатура - зло, подобного которому мало на свете ;)
Денискин, что творится с Хабром??? А? :)
UFO just landed and posted this here
Не то окно? =) С IDE перепутали?
это как же нужно было ошибиться =)
Возможно, он хотел ломануть Хабр, но, что-то пошло не так… :)
Наверное, не ломануть, а судя по коду - закрыть его нах.
Нет, все верно. Автор совершенно прав.
Это эксперимент разработчиков по реализации глобальной IDE на основе хабра.
UFO just landed and posted this here
ага, "даёшь каждому комментарию по плюсу!"
UFO just landed and posted this here
И мне, и мне добра :D
UFO just landed and posted this here
Мне приходится с вами согласиться.
Изумительно!
Такая грация...
Чувства переполняют просто...
UFO just landed and posted this here
Хоть и пост добра, но этого минусуем. Прощай парень.
Блин, всю картину с плюсами запорол.
UFO just landed and posted this here
UFO just landed and posted this here
Зато какой контраст!
А я желаю тебе добра!

НЛО прилетело и опубликовало эту надпись здесь :(
UFO just landed and posted this here
Профессиональный тролль?
Главное на главную не выйти. Тогда тролляки всё испортят
Уже поздно, но посмотрим. Надеюсь, совокупная карма разумных существ все же больше и автора удастся спасти.
Рад что всем понравилось.
Надеюсь с кодом автора больше работать не придется.
Вы молодец. Хабрасообщество ценит людей с чувством юмора! От имени и вообще я желаю Вам успехов.
UFO just landed and posted this here
и тебе мир!
Iff (if and only if)
Хотел выяснить откуда «растут ноги» у этого куска кода.
К моему удивлению, этот пост Google уже проиндексировал и выдал первой строчкой :)
Google тоже проникся добром к Хабру.
Честное слово, код оригинальный, был найден в коде коллеги при рефакторинге
Надеюсь, он узнает свой код в ленте новостей и обязательно отпишется
Расскажите, как вам таки удалось достич таких успехов ??
UFO just landed and posted this here
Странный код. Объясните, плз, в чем соль?
Прочел — не помогло.
Это C#? Тогда ошибка синтаксиса. И не так чтобы смешная.
Мир тебе, неизвестный брат, и счастья твоему светлому дому!
Это же «Пост добра»!
Коллективной Силой Добра исправляются все баги в коде, независимо от языка написания!
Опять-таки эсперимент создателей хабра.
При некоторых обстоятельствах это даже корректно, не считая того что не скомпилится %)
тут походу все каменты плюсуют )))
Возникает когнитивный диссонанс при взгляде на этот комментарий :)
заминусовали... ещё и в карму насрали :(
Это ты еще легко отделался.
Отсыпал кармы, света и радости тебе! =)
спасибо вам добрый человек :)
Будь щастлив и используй lock только воимя добра
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
как раз то что надо новичкам - второй день на хабре и под раздачу попасть - птица счастья?
Да, да, в хабранародье — «Пост Добра» :)
«Terrible thing, envy.» © Peugeot Ad.
Повысил Вам карму.
во истину хабр не без добрых людей. и добрых топиков.
спам \повторять всем\
Воистину!
lock ("Place Order") { // some code } © Примечание Forb'а
Обычно после такого сабантуя наступает жестокий отходняк. Ну-ка, раз...
Потрясающе! Столько смысла в одной строчке я никогда ещё не видел! Автор великолепен! Браво!
UFO just landed and posted this here
Кто вам такое сказал?
UFO just landed and posted this here
Нда, у меня плюсомет уже кончился…
Впервые за пол года.:)
UFO just landed and posted this here
И вам плюсик… Воскресение, вечер, хуле…
UFO just landed and posted this here
Огоо, с такой кармой видимо и правда пришлось постараться!)
Подымем есче)
Поздравляю всех с победой здравого смысла !!! =)
UFO just landed and posted this here
UFO just landed and posted this here
о боже 0_о \повторять всем\
Спасибо за участие в эксперименте "как, имея 7 постов, получить 15 очков кармы".
гг)
У меня один пост поднял до 15-ти) А потом НЕлюбители футбола заминусовали.
Особенно эротично, что когда пишешь длинную умную статью, тратя массу времени, усилий и душевной красоты, её не заметят в лучше случае. А вот за такую вот упячку забросают чепчиками.
UFO just landed and posted this here
Нет тут логики! Нету Нету!
людям хочется позитива :)
У людей хорошее настроение, что-то витает в воздухе, хочется дарить миру любовь и плюсы, соединяясь в танце весенних цветов, излучая флюиды позитива.
это эксперимент создателей хабра
а в чём юмор, объясните, пожалуйста? я кодить не умею, поэтому и спрашиваю..
По старой доброй традиции, когда что-то непонятно, это «что-то» переводят с помощью Промта. В данном случае перевод гласит:
     замок ("Размещают Заказ") {//некоторый кодекс}
Чорд, я вывалил 116 плюсов за сегодня…
а теперь налетели тролли.
Дух позитивного ойтишнега с нами! =)
а гдейта вы взяли стока? ))
Да так, пару раз попадал в подобные топики =)
какая добрая традиция оказывается, а я впервые такое вижу))
Явление крайне редкое и спонтанное:)))
этот комментарий не плюсуйте, пожалуйста
контрасты рулят :)
А? Если что я не минусовал, не могу :)
даже кармапопрошайкам, вроде вас, поднимаем карму в День Добра
Покажите мне где еще кроме этого топик я просил поднять себе карму.
Ага! А я вам в карму наплюсую!
я не знаю почему, но мне этот топик начинает нравиться все больше и больше =)
Зеленый цвет приятен глазам?
наверное потому что на Хабре день добра.
Конечно. У меня плюсы быстро пополняются:)
спасибо:) хорошего вам настроения:)
Пожалуйста:)

Все в тиворз!!! =)
признайтесь - muse ваш виртуал! %)
Признаюсь.
Нет =)
У меня просто настроение после этого топика очень хорошее. Или это из-за того, что я три дня е*ался с програмой на асме под восьмибитный микроконтроллер, и сегодня она наконецто заработала. Не знаю:)
Короче, держите плюс в карму =)
он теперь тиворлдс называется
Стопудово, во всяком случае, я закончу дела, и собираюсь гонять его целый вечер) Встречаемся на хабрасерваке:)
Да не, я только учусь:)
ого. бесплатная раздача плюсов :)
может потому что седня 06.07.08? :)


гы, я слегка поломал хабр =/
чорт, я совсем забыл.
а ведь я хотел отметить 03:04:05 06.07.08 или 06.07.08 09:10:11
чорт, я совсем забыл.
а ведь хотел отметить 03:04:05 06.07.08 или 06.07.08 09:10:11
При Путине такого не было >_<
А Лебедев у нас уже президент?

За что-то понизили и так маленькую карму, эх, плакала моя вставка картининок =(
хабр уже не тот, %username%
UFO just landed and posted this here
lock - новое открытие хабрахабр)
Даже в тэге lock всего одна тема(
Какая-то массовая истерия чтоли...

---
The lock keyword ensures that one thread does not enter a critical section of code while another thread is in the critical section. If another thread tries to enter a locked code, it will wait, block, until the object is released.

The section Threading (C# Programming Guide) discusses threading.

The lock keyword calls Enter at the start of the block and Exit at the end of the block.

In general, avoid locking on a public type, or instances beyond your code's control. The common constructs lock (this), lock (typeof (MyType)), and lock ("myLock") violate this guideline:

* lock (this) is a problem if the instance can be accessed publicly.
* lock (typeof (MyType)) is a problem if MyType is publicly accessible.
* lock(“myLock”) is a problem because any other code in the process using the same string, will share the same lock.

Best practice is to define a private object to lock on, or a private static object variable to protect data common to all instances.
Топикстартера минусуют!
Ану поправить ситуацию! Плюсометы на взвод! =)
подняли настроение на весть вечер!
(возможно, и всю следующуне неделю)
код не выполниться xD
верно так:

lock ("Place Order") { /* some code */ }
да. я тож обратил внимание =)
ничего не понял, но топик добрый, приятно читать комментарии ^_^
Я ничего не понимаю в C#, но мне всё равно очень, очень весело.
на этом дискуссия подошла к своему логическому концу
нифига не подошла, я требую продолжения банкета!
Обожаю, когда на хабре появляется пост добра :)
Добро победит! Прошу только без холиворов :)
Народ, опомнитесь! В полночь все плюсики превратятся в тыквы!
Аа, пофиг! Устроим тестовый Халовин :))
Код выполнится, более того, критическая секция не будет прервана из другого потока этого же процесса, если в нём не будет такого же lock("Place Order"). Не слишком красиво и безопасно, но для топика - не повод.
Мне кажется, ничего ведь страшного не будет, если я про коллайдер тут напишу?
Это код из программы управления коллайдером! Мы все умрём :)
Это код из программы Максимум. Скандалы интриги расследования!
Это код и программы передач на завтра.
= Объяснение =

МСДН: lock(“myLock”) is a problem because any other code in the process using the same string, will share the same lock.

А это значит, что в момент выполнения этого куска кода если где-нибудь будет выводиться в другом месте строка "Place Order", что вполне возможно, если это какой-нить сервер, или просто передаваться куда-нибудь, то будет жоппа.

Чтобы жоппы не было надо использовать строку типа "аfsakl;jfkldsjfklsdjfklsdjlfjsdlkfjsdlkjfjsdklf jsdlkfj дылвао дылвоа длыфво ажлдыфво адлжоывлдафо дылжво адлжыфво аджлыво аdfsj kлждоп jsg js0934u08 u34208 кощшоавдлжьявмю.бьц34ш к0983лждоыв"
Только в пределах процесса.
А где про это вааще нормально написано - про процессы, треды и прочее?
kлджоп? :) Не думал что насрать в комментах можно так органично, на 3 строки!
Ситуацию с неправильным комметарием я увидел сразу, а теперь и вообще радуюсь вместе со всеми :) Ну не сталкивался я с C#
Читал сегодня вашу статью!
Многое не понял, но все равно, классно!
зло лишь жалкая тень добра. причем солнце в зените
UFO just landed and posted this here
Это была первый урок по изучению C#. Что же будет на следующем?.. :)
О великий Макконнелл, спаси нас.
Даешь больше зеленых плюсов чем у первого коммента! (:
Ну чего далеко ходить - С# в опасносте?:)
Даешь мировой рекорд по количеству одновременно улыбающихся хабралюдей :)
Фуф, я свои 25 раздал, обойма опустела (:
надо подзарядить )))
и вам, и вам добра! :)
у меня всего 10 было =)
Вот стесняюсь спросить...
А может в честь такого прилива добра на хабр, мне кто-нибудь карму повысит? :)
Давно хочу несколько интересных статей выложить, а кармы по нулям.
держи =) Только пользуй с умом =)
Причем самое интерестное, что если вы написали этот коммент в любом другом топике его и вашу карму заминусовали. По хабру можно психологию толпы изучать!
просто это топик добра.
Выкладывайте-выкладывайте. Хорошего контента много не бывает.

P.S. Только такого безумия лучше не устраивать, ибо нечасто одновременно у подобного количества людей просыпаются неслыханная щедрость и приток положительного настроения.
Всем спасибо! Очень помогли.
может и мне, под шумок?
только т-с-с-с! :)
Мну тоже надо =) До единички, а то комменты раз в 5 минут =\
Я вылез из тиворлдс, и плюсую всех троих =)
Спасибо добрый человек =)
получите - распишитесь :)
Черт, почему я незнаю C#? ;-)
Я хабранеудачник :-(
Всем в этом топике карму поднимают, а мне — увы, слили :-(
исправим, не боись! Добра на хабре больше.
Спасибо! Даже лучше стало. :-)
Это тебе авансом, иди учи C#.
Какой позитивный зеленый топик получился (=

Самое интересное что после десятка коментов все забыли про lock (=
UFO just landed and posted this here
UFO just landed and posted this here
судя по происходящему, в ближайшее время эта фраза станет завуалированной и предельно вежливой просьбой чуть-чуть поднять карму ))
первый раз вижу столько плюсов в коментариях...
Ага, я свои 44 патрона потратил, в первый раз просто по-порядку шел и плюсовал, плюсовал. Да пребудет с нами великий Лок, плейсящий ордер! :D
Если это топик добра, пожелайте, хабралюди, мне удачи. Если завтра пересдам матан, перейду на 3 курс. :)
Удачи! Желаю отдохнуть до конца лета без хвостов, чтобы с 1 сентября бодрой походкой пойти на 3 курс :)
В таком случае Вам лучше готовиться, чем читать и писать комментарии.
Я пытаюсь, но шило мешает.
Офигеть!
Ну спасибо, народ! Ну настроение подняли!
Прям как из жаркой пустыни да под холодный душ: впервые увидел «Пост Добра» )))

Предлагаю отмечать в календаре «Дни Добра».
06.07.08 замечательно для этого подходит.

До встречи 08.08.08! ;-p
Продолжил позитив и раздал все свои плюсы в этом топике :)))
Хабр не выдерживает такого груза добра:
"504 Gateway Time-out
nginx/0.6.31"
Хабрахабр познал силу Хабраэффекта! О, всемогущий lock!
In Lock we trust.
Let Some Code be with you!

PS: Where can I Place Order?
— In A.D. 2101, order was placing.
— What happen?
— Somebody lock us some code.
А ты полюбил ближнего своего, %username%?
черт, я поставил минус топику, потом прочитал комменты и теперь мне стыдно :)
За всю историю коментариев нету ни одного с отрицательным рейтингом :) Впервые.
есть, но они быстро подправляются плюсами )))
В середине страницы есть парочка.. Ещё несколько НЛО потырило :)
это не первый пост добра, %username%
Я знаю, но этот вроде начинался по другому. Там вроде какая-то шутка была, даже по-моему про программирование. :-/
посты добра появляются каждые один-два месяца. с шуток, в новостей или чего угодно. вот был как-то потс про убунту-аватарки, приуроченный к выходу новой версии. и еще куча других, стихийных постов, нарушивших покой хабра :)
груз добра грузом, но во что в итоге затранслируется этот код будет зависеть от компилятора. с MS-овским оно вроде даже и работать будет как задумано, а вот с Mono не факт :")
З.Ы.: я так не писал и писать никогда не буду :D