-
Website
http://blog.kovyrin.net -
Original page
http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
for you health
3 comments · 1 points
-
jamiew
1 comment · 6 points
-
qu1j0t3
1 comment · 1 points
-
mkv to dvd
1 comment · 1 points
-
Scoundrel
9 comments · 1 points
-
-
Popular Threads
Если это конкретно про его отступы - то меня они очень сильно раздражали, пока просто не пришлось поправить скрипт на питоне. Ну и с тех пор я забросил перл. ;)
При всем уважении к вам, по-моему, вы погорячились.
Руби очень хорош.
Не знаю... Я до сих пор не понимаю, как можно в 2007-м году вот так вот тупо оставаться на уровне 85-го года с "поддержкой" тредов через жо^H^H форки...
Цепляюсь к словам ;)
Пайтон прекрасен!
«Многотредный … метод популярен в Windows-средах, потому что создание новых процессов сравнительно дорого, а вот треды в Windows сделаны очень неплохо.
Впрочем, для приложений на Питоне это не рекомендуется в любом случае из-за Global Interpreter Lock (http://docs.python.org/api/threads.html).»
Но это нисколько не портит пайтон.
Статья написана Иваном Сагалаевым. Полная версия — http://softwaremaniacs.org/blog/2007/01/08/cont...
Ну они реально в перле через форки, так еще и семафоры кривые :-)
А насчет питона - не могу себя сломать. отступы эти.... :-)
Вот такие вот дела. А так и в перле я мог бы форкнуться и сделать IPC какое-нить (такое даже есть, но в другой части этого же проекта)... но не хочется городить огород, когда реально хватает тредов и примитивных средств синхронизации :-)
И еще - не стоит обижаться на все сообщество, нарвавшись на несколько гоблинов. Можно случайно заскочить на LOR с вопросом по Linux'y :))) а потом, попивая валерьянку, перебираться на Solaris.
Стоит только один раз попробовать, и ты втянешься. :)
Где можно прочитать об этом?
Мои предположения основаны на доке: http://search.cpan.org/~jdhedden/threads-1.58/t...
Мне об это рассказал тот самый core-девелопер, с которым мы разбирались с проблемой... Может я его правда понял как-то не так... Но anyways, семафоры у них дохлые :-)
Потоки в других языках тоже сильно увы.
Практически к любому приложению, даже на сях, идет коммент: треды вы можете попробовать поюзать, но лучше не надо.
Да, это особенность среды, в которой форк исторически был быстрее создания треда.
Прикопайтесь еще к примеру, что в винде нет форка. что за бред работать в такой системе в 2007 году.
А насчет винды и форка - так его нет и все тут... вот если бы он был, но работал криво - это было бы корректное сравнение... хотя все равно - не стоит в ней работать :-P
Вот это вы сильно написали :)
Треды не реализованы через форк. Если бы так было, то зачем тогда нужны были треды, новый алиас?
В доке по threads::shared (Thread::Semaphore подключает) в разделе BUGS написано: "bless is not supported on shared references. In the current version, bless will only bless the thread local reference and the blessing will not propagate to the other threads. This is expected to be implemented in a future version of Perl".
Такое бывает, когда натыкаешься на баг модуля. Здесь два решения:
- либо ждать новой версии,
- либо обойти этот баг.
Вы обошли, но зря поменяли названия модуля, нужно было оставить то же название, положить в директорию, где находится скрипт и в самом скрипте:
BEGIN { unshift @INC, pop @INC } # perl hack
use Threads::Semaphore;
Когда выйдет обновление, можно все скрипты grep'нуть на наличие такого комментария и убрать "затычки".
Такое решение очень эффективно, т.к. каждый день Perl становится все лучше и лучше.
Кстати, можно было не использовать Thread::Semaphore, а просто указать lock там, где надо :)
На счет "комьюнити которых тупо плюет в лицо человеку пришедшему с проблемой в их core libraries" - обычно люди, хорошо разбирающиеся в каком-то деле, не сидят в чатах, у них на это времени нет.
>А не стоит ли нам выбросить на помойку старые “мертвые” языки
Perl - точно НЕ стоит!
That was the main seller for me.
Yes, having to use "ends" can be redundant, but you dont have to NEED USE whitespace for code that works (compare irb to python interpreter for example)
You dont have to carry implicit (self) which is so annoying to read.
You can omit () if it fits your style or you are lazy.
Last but not least, using classes and objects in
ruby doesnt feel like a fix-up solution like in Python.
Я столкнулся с той же проблемой, и моментально нашел этот пост через
http://www.google.ru/search?complete=1&hl=r...