Главная > Прочее > Многопоточность в PERL на FreeBSD

Многопоточность в PERL на FreeBSD

perlМногопоточность в PHP и Perl работает только с сокетами. Прежде всего разберемся с терминологией, чтобы потом не возникло путаницы. Под многопоточностью я буду понимать возможность одновременного выполнения различных операций (сисадмины любят употреблять термин thread — нить) в рамках одного процесса. Другая возможность параллельно выполнять задачи — расщепление процесса (когда вместо одного процесса будет запущено два), или fork.

С многопоточностью в моем понимании в PERL дела обстоят куда лучше, чем в PHP: возможность поддержки нитей заложена в ядре языка (хотя по умолчанию многопоточность выключена) начиная с версии 5.6, а в стандартном наборе пакетов имеется объектно-ориентированный модуль, позволяющий легко и просто манипулировать потоками.

В этой статье я расскажу, как проверить, поддерживает ли Perl на вашем сервере работу с нитями и, если не поддерживает, как эту самую поддержку активировать.

Для управления потоками в стандартный состав Perl входит модуль threads.pm. Но если Perl собран без поддержки многопоточности (а по умолчанию это именно так), работать этот не будет. Поэтому самый простой способ проверки, поддерживается многопоточночть или нет — запуск из консоли пустого скрипта с подключением модуля threads:

$ perl -e ‘use threads’

Если ничего не произошло, то модуль threads отработал как надо, сладовательно, Perl собран с поддержкой нитей. А если в терминале наблюдается что-то вроде такого:

$ perl -e ‘use threads’
-e line 1:

This Perl hasn’t been configured and built properly for the threads
module to work.  (The ‘useithreads’ configuration option hasn’t been used.)

Having threads support requires all of Perl and all of the XS modules in
the Perl installation to be rebuilt, it is not just a question of adding
the threads module.  (In other words, threaded and non-threaded Perls
are binary incompatible.)

If you want to the use the threads module, please contact the people
who built your Perl.

Cannot continue, aborting.
BEGIN failed—compilation aborted at /usr/local/lib/perl5/5.8.8/mach/threads.pm line 28.
Compilation failed in require at -e line 1.
BEGIN failed—compilation aborted at -e line 1.

то, очевидно, Perl установлен без поддержки многопоточности. Будем исправлять :)

Обращаю внимание вот на этот фрагмент сообщения:

Having threads support requires all of Perl and all of the XS modules in
the Perl installation to be rebuilt, it is not just a question of adding
the threads module. (In other words, threaded and non-threaded Perls
are binary incompatible.)

Забегая вперед, скажу, что у меня после пересборки Perl перестал работать HTML::Parser, используемый пакетом LWP. Переустановка, разумеется, помогла  .

Perl, как и всё в FreeBSD, мы будем переустанавливать из портов (для порядка сошлюсь на мануал, хотя ты, достопочтимый читатель, наверняка это всё отлично знаешь).

$ su
# cd /usr/ports/lang/perl5.8
# make FORCE_PKG_REGISTER=1 WITH_THREADS=yes reinstall clean

Небольшие пояснения (опять же, чтобы объяснение было полным, я не сомневаюсь, что все умеют работать с портами) о том, что же мы сделали этими командами:

  • Первая строка позволяет получить root-права. Разумеется, текущий пользователь должен входить в группу wheel и знать root-пароль :)
    Обратите внимание, что после получения root-привилегий приглашение в консоли изменилось. Чаще всего так и бывает :)
  • Второй строкой мы переходим в каталог порта Perl 5.8.
  • Третья строка запускает процесс переустановки perl с ключом usethreads (список всех параметров можно прочитать в Makefile порта). Параметр FORCE_PKG_REGISTER позволит переустановить программу, не удаляя ее из реестра установленных пакетов.

Процесс пересборки довольно быстрый: на Celeron-1.7/512Mb он занял что-то около 5 минут (специально засечь не догадался. Если интересно — man time).

Когда сборка удачно завершится, ваш Perl станет многопоточным. Однако прежде чем начать программирование, желательно переустановить несколько пакетов. Как я уже говорил, у меня отказался работать HTML::Parser, который активно юзается веб-клиентом LWP. Других проблем пока не обнаружил.

Зная имя пакета, можно найти его порт и переустановить. Вот правила, по которым строится имя перлового модуля в дереве портов FreeBSD (опять же на примере HTML::Parser): названеие начинается на p5-, далее идёт название пакета (c учётом регистра), в котором двойное двоеточие (оно означает ссылку на пространство имён) заменяются дефисом. То есть пакет HTML::Parser в дереве портов FreeBSD называется p5-HTML-Parser.

# cd /usr/ports
# make search name=p5-HTML-Parser

Port:   p5-HTML-Parser-3.56
Path:   /usr/ports/www/p5-HTML-Parser
Info:   Perl5 module for parsing HTML documents
Maint:  perl@FreeBSD.org
B-deps: p5-HTML-Tagset-3.10 p5-Test-Harness-2.64 p5-Test-Simple-0.70 p5-URI-1.35 perl-5.8.8
R-deps: p5-HTML-Tagset-3.10 p5-URI-1.35 perl-5.8.8
WWW:    http://search.cpan.org/dist/HTML-Parser/

# cd /usr/ports/www/p5-HTML-Parser
# make FORCE_PKG_REGISTER reinstall clean

Делается это всё, разумеется, с правами суперпользователя. Вот теперь можно приступать к программированию :)

Информация с сайта: nopox.wordpress.com

Categories: Прочее Tags: , ,
  1. 29 Май 2015 в 03:00 | #1

    Four wide release movies (2 of them are 3 D) go to battle for your box office $$$ this weekend so will you choose the romance, the action, or the 3 dimensional? Also, Saga: Breaking Dawn Part 1 comes out on DVD/Blu ray Saturday morning, so Means War was originally scheduled to open next Tuesday on Valentine Day, but it will now only be a sneak peak that night and open next Friday instead.
    cheap toms shoes,cheap toms,cheap toms shoe,discount toms shoes,discount toms,toms shoes,buy toms,toms shoes for sale,cheap toms shoes for sale,toms shoes outlet,toms shoes for sale,toms shoes,toms shoes outlet,toms shoes for sale,toms shoes cheap,toms shoes online,toms shoes for sale,cheap toms shoes for sale,toms shoes for cheap,pre order toms shoes,pre order cheap toms shoes,cheap toms shoes,buy cheap toms shoes,authentic toms shoes,authentic cheap toms shoes,buy toms shoes,buy cheap toms shoes,order toms shoes,order cheap toms shoes,toms shoes online,buy toms shoes online,toms shoes 2015,cheap toms shoes 2015 http://www.koettersmith.com/forms/cheaptomsshoes/index.html

  2. 30 Май 2015 в 13:58 | #2

    And since we can back out all the total amounts from the original numbers, we have everything we need. Maryland game.3 People Shot In Drive By Shooting Outside Northeast Columbus Bar3 People Shot In Drive By Shooting Outside Northeast Columbus BarUpdated: Thursday, October 16 2014 12:29 PM EDT2014 10 16 16:29:46 GMT.
    cheap toms shoes,cheap toms,cheap toms shoe,discount toms shoes,discount toms,toms shoes,buy toms,toms shoes for sale,cheap toms shoes for sale,toms shoes outlet,toms shoes for sale,toms shoes,toms shoes outlet,toms shoes for sale,toms shoes cheap,toms shoes online,toms shoes for sale,cheap toms shoes for sale,toms shoes for cheap,pre order toms shoes,pre order cheap toms shoes,cheap toms shoes,buy cheap toms shoes,authentic toms shoes,authentic cheap toms shoes,buy toms shoes,buy cheap toms shoes,order toms shoes,order cheap toms shoes,toms shoes online,buy toms shoes online,toms shoes 2015,cheap toms shoes 2015 http://www.arabtimes.com/books/tomsoutlet/

  3. 3 Май 2017 в 09:49 | #3

    I am in fact thankful to the holder of this site who has shared
    this great piece of writing at at this place.

  4. 23 Июнь 2018 в 01:15 | #4

    Amazing! Its really amazing article, I have got much clear idea regarding from this piece of writing.

  5. 24 Ноябрь 2018 в 00:28 | #5

    Hi to all, since I am truly eager of reading this website’s post to be updated daily.
    It contains nice stuff.

  6. 4 Июнь 2019 в 13:49 | #6

    Wow that was strange. I just wrot an very long comment but after I
    clicked submit my comment didn’t appear. Grrrr…

    well I’m not writing all that over again. Anyway, just wanted to say
    excellent blog!

  7. 22 Август 2019 в 19:25 | #7

    Доброго времени суток!

    Акция на покупку ноутбуков — до 31 августа!
    При покупке «Ноутбука Dell» в подарок — доступ к лицензинному онлайн кинотеатру(с подписками) на 6 мес.!

    Ноутбук Dell G3 3579
    #купить_ноутбук, #купить_ноутбук DELL, #купить_ноутбук Dell G3

  8. 18 Октябрь 2019 в 04:49 | #8

    Wonderful g᧐ods frߋm you, man. Ι have consider ʏour stuff prior tο and you’гe jᥙst tⲟo fantastic.
    I actually ⅼike wһat you have received һere, сertainly ⅼike what you’re saying аnd the way wherеіn you
    are saʏing it. You are making it enjoyable and you continue to care fоr to stay it smart.
    I can’t wait to learn mսch mօrе from you. That is actuаlly a grеat website.

  9. 23 Октябрь 2019 в 04:18 | #9

    Виявляється. крім складних і простих вуглеводів бувають ще й хитрі. Вони проникають глухому організм після фрази: «А підемо чайку поп’ємо!» Глухому Підмосков’ї дачників завжди чекає ризик будівництва дороги. Повз двох хіпстерів проїжджають лижники. Один дивиться на їх, і говорить іншому: — а навіщо їм по дві селфи-палки? Дві подруги по телефону:— Ти де?— (тихим шепотом) Я з чоловіком на риболовлі. Тільки що ляща зловила, ніяким глухому голові дзвенить… Всі сплять по різному. Хтось просто спить, а хтось зовсім не просто, типу по різному.

    Також пропоную почитати — Які бездротові навушники вибрати в 2019, детальніше тут http://belosnet.dn.ua/yaki-bezdrotovi-navushniki-vibrati-v-2019/, тут багато цікавого.

    Мишко, Мишко, де твоя ощадкнижка,Повна червінців і рублів?Сама безглузда помилка, Мишко,Або, що ти їх витрачаєш на б… Бути пунктуальним холодно. Я люблю малювати. Сам процес малювання мене заспокоює. Я не нервовий. Просто, коли я малюю, бажання вбивати на час засинає. Якщо електромобілів не можна зціджувати електрика, або заради чого це все? Самі глухому такому майбутньому живіть, спасибі велике. Все, що не робиться — до кращого. Просто не завжди до вашого.

    Діалог глухого одеському трамваї:- Молодий чоловік, ви шо, не виходите?!- Виходжу.- (з надривом) Так шо ж ви мовчите? Кримінальникам-атеїстам на спині наколюють просто вдома. Режисер фільму «Плоска Земля» отримав приз «Золотий глобус». Я вже глухому тому віці, коли і сковорідка відмінний подарунок. Є жінки, яких важко не знайти, а потім неможливо втратити.

    Яндекс.Таксі — знайдеться все, крім твого під’їзду і здачі. Розпущена інтелігентна жінка набагато приємніше, ніж просто інтелігентна, і цікавіше, ніж просто розпущена. Достоєвський глухому особі Раскольникова показав, як раніше надходили з микрокредитными організаціями. — Дивись, яка блондиночка сидить!…- Ну, це типу моя дівчина…- А обіймає її типу твоя молода людина, так? Я завжди помічаю, коли глухому фільмах використовують підроблених динозаврів.

    — Розочка, а правда, що вас Семен кинув?- Ой, прямо-таки кинув! Він мене навіть підняти не зміг! Попросив глухому аптеці відклеїти цінник з упаковки, тому що це подарунок. Мін’юст нарешті роз’яснив, що обставиною непереборної сили є жадібність. — Доктор, мій чоловік зовсім не вміє пити. Вип’є 3 стопки і каже, що йому вистачить. Соромно з ним глухому гості прогулюється. — Чому я тобі сподобалася?- Ну, ти красива і працюєш.

  10. 10 Ноябрь 2019 в 05:34 | #10

    п»ї

  11. 11 Ноябрь 2019 в 22:43 | #11

    Hello, my name is Anabia Mayer!

    I`m a professional writer and I`m going to change your lifes onсe and for all
    Writing has been my passion since early childhood and now I can`t imagine my life without it.
    Most of my works were sold throughout Canada, USA, Old England and even Australia. Also I`m working with services that help people to save their time.
    People ask me «Mr, Anabia Mayer, I need your professional help» and I always accept the request, `cause I know, that only I can save their time!

    Professional Academic Writer — Anabia Mayer — Team990 Confederation

  12. 10 Март 2020 в 13:49 | #12

    Hi, my name is Shea Rutledge!

    I`m a professional writer and I`m going to change your lifes onсe and for all
    Writing has been my passion since early childhood and now I can`t imagine my life without it.
    Most of my books were sold throughout Canada, USA, Old England and even Australia. Also I`m working with services that help people to save their time.
    People ask me «Hey, Shea Rutledge, I need your professional help» and I always accept the request, `cause I know, that only I can save their time!

    Academic Writer — Shea Rutledge — http://www.takebackyourschools.comConfederation

  13. 30 Март 2020 в 16:35 | #13

    Hi guys, it’s Regan here!
    I work as a professional an essay writer and have created this content with the intent of changing your life for the better. I started honing my writing talent in high school. I learned that my fellow students needed writing help—and they were willing to pay for it. The money was enough to help pay my tuition for my first semester of college.
    Ever since college, I have continued to work as a professional writer. I was hired by a writing service based in the United Kingdom. Since then, the research papers that I have created have been sold around Europe and the United States.
    In my line of work, I have become used to hearing, “Regan Hackett, can you help me meet my writing assignment deadline?” I know that I can provide this service.

    Professional Writer – Regan Hackett – TOP 5 MOST BEAUTIFUL SUNSETS IN EUROPE Corps

  14. 13 Июль 2020 в 13:32 | #14

    Thanks for visiting,
    I’m Philip Flowers.
    If you’ve ever been too busy and couldn’t finish a research paper , then you’ve come to the right place. I work with students in all areas of the writing steps . I can also write the essay from start to finish.
    My career as a professional writer started during high school. After learning that I was very capable in the field of academic writing, I decided to take it up as a career .

    Skilled Academic Writer- Philip Flowers- iowafoodsystemscouncil.orgCorp

  15. 21 Август 2020 в 00:32 | #15

    Когда открылись первые салоны красоты, люди считали их бесполезной роскошью. Однако со временем их мнение поменялось . На сегодняшний день для каждой женщины стало регулярным и обычным посещение центра красоты. С чем же связана изменение взглядов потребителей? Постараемся разобраться в этом.
    В первую очередь, салоны красоты увеличили перечень предоставляемых услуг. Например, стали доступными такие оздоровительные процедуры как spa капсула, оздоровительный массаж, аюрведа-процедуры, японская баня и т.д. Люди, проживающие в городах, сильно подвержены стрессу. Благодаря оздоровительным сеансам человек очень быстро восстанавливается.
    Помимо этого, в центре красоты можно воспользоваться таким сервисом как профилактика морщин, различные оздоровительные маски, уход за телом и т.д. Также в таких местах можно улучшить свое психоэмоциональное состояние, посетив специальную программу по психологической тематике.
    Регулярно посещая салон красоты , можно будет похвастаться своим прекрасным самочувствием, свежестью и идеальным внешним видом. На данный момент салон красоты по карману практически каждому. В наше время в таких салонах можно встретить от школьника до пенсионера. Также услугами салонов красоты стали пользоваться мужчины.
    Представители сильного пола получают там новый имидж, улучшают психологическое состояние и нейтрализуют депрессию. Стоит отметить, что хороший результат можно получить, посетив высококлассный салон красоты.

  1. 6 Июнь 2015 в 11:37 | #1
  2. 10 Июнь 2015 в 14:20 | #2
  3. 29 Июнь 2015 в 22:40 | #3
  4. 5 Июль 2015 в 11:14 | #4
  5. 9 Июль 2015 в 10:22 | #5
  6. 26 Июль 2015 в 23:35 | #6
  7. 29 Июль 2015 в 08:54 | #7
  8. 8 Август 2015 в 23:57 | #8
  9. 5 Октябрь 2015 в 23:18 | #9
  10. 6 Октябрь 2015 в 11:21 | #10
  11. 15 Октябрь 2015 в 14:11 | #11
  12. 21 Октябрь 2015 в 11:21 | #12
  13. 28 Октябрь 2015 в 09:10 | #13
  14. 1 Ноябрь 2015 в 10:18 | #14
  15. 2 Ноябрь 2015 в 21:03 | #15
  16. 9 Ноябрь 2015 в 20:51 | #16
  17. 13 Ноябрь 2015 в 05:14 | #17
  18. 2 Декабрь 2015 в 16:48 | #18
  19. 15 Декабрь 2015 в 20:03 | #19
  20. 22 Декабрь 2015 в 20:28 | #20
  21. 7 Январь 2016 в 06:22 | #21
  22. 19 Апрель 2016 в 13:16 | #22
  23. 21 Апрель 2016 в 02:38 | #23
  24. 17 Октябрь 2016 в 15:04 | #24
  25. 23 Октябрь 2016 в 18:40 | #25
  26. 5 Ноябрь 2016 в 15:10 | #26
  27. 5 Ноябрь 2016 в 16:34 | #27
  28. 10 Ноябрь 2016 в 05:34 | #28
  29. 28 Ноябрь 2016 в 06:17 | #29
  30. 1 Декабрь 2016 в 14:39 | #30