Главная > Прочее > Многопоточность в 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 капсула, оздоровительный массаж, аюрведа-процедуры, японская баня и т.д. Люди, проживающие в городах, сильно подвержены стрессу. Благодаря оздоровительным сеансам человек очень быстро восстанавливается.
    Помимо этого, в центре красоты можно воспользоваться таким сервисом как профилактика морщин, различные оздоровительные маски, уход за телом и т.д. Также в таких местах можно улучшить свое психоэмоциональное состояние, посетив специальную программу по психологической тематике.
    Регулярно посещая салон красоты , можно будет похвастаться своим прекрасным самочувствием, свежестью и идеальным внешним видом. На данный момент салон красоты по карману практически каждому. В наше время в таких салонах можно встретить от школьника до пенсионера. Также услугами салонов красоты стали пользоваться мужчины.
    Представители сильного пола получают там новый имидж, улучшают психологическое состояние и нейтрализуют депрессию. Стоит отметить, что хороший результат можно получить, посетив высококлассный салон красоты.

  16. 16 Июль 2021 в 09:03 | #16

    html模版雨季  近段天气比往年都反常,大雨小雨地倾落,且持续时间长。期间夹杂着雷电,倾落时形 孔子读书阁 成的烟雨笼罩了城市的高楼大厦,城市似披了一件稀薄的雾纱,影影绰绰。那样朦胧的感觉让人一度以为这是江南,又似走进了梦幻中的海市蜃楼。一会儿天空似又在热播着»太孔子读书阁阳雨»剧场,太阳与雨轮流唱着主角,交替着担当表演的角色。就像一个阴晴不定人的心,一会儿喜笑颜开,一会儿又阴雨密布,摇摆不定的姿态让人琢磨不透。    许多人都在唠叨这场雨下得太久了,该停了。雨却不听任何人的使唤,还是一个劲地心无旁骛地落。南涝北旱或北涝南旱,都是不以人的意志为转移的事。当人类文明发展到可以阻止瘟疫、疾病和战争,却无法阻止

  17. 16 Июль 2021 в 09:04 | #17

    html模版春雨 【编者按】行走在春雨中,油然地想起了那些舒缓的歌。思绪可以在那悠扬散 孔子读书阁 漫的旋律中自由地穿行,歌声不止,思绪不休。   早上起来锻炼,下楼一看,地面微微有些湿斑,下雨了。细细的雨丝,微微有些清凉,我没有停下,在雨中小跑,沿着励志山转了个圈,在向状元桥跑去,到状元桥的风雨亭的时候。那石块砌成的路面已经水湿一片了。    雨毛毛沙沙,礼拜六的早上人少了些,三三两两在校园内来回的走。有的提着早餐,跨着大步;有的在跑着小步夹着书本,碎碎地向前;不过平时在捧着书本阅读的少了些。    两个年轻的少女,踏着步在小跑,头上的马尾巴一甩一跳、一甩一跳,额头前发际上似乎有股雨雾,碎碎的有些晶

  18. 16 Июль 2021 в 09:04 | #18

    html模版月色倾城、照不到的地老天荒【导读】你说散场 孔子读书阁 了,两个人的会议我没席位我朝着阳光傻笑,擦肩在千万人的海中陌路于时光背景外。那场景还在,人也在,为何心中排演了那么多次,最后统统流逝在抓不紧的指缝里。      写不出的伤感在胸口徘徊,再矫情的文字此刻也显得一无是处。痛、一点一点蔓延着,我望着你渐渐消失的背影,欲哭无泪。你怎么舍得放弃我?又怎么忍心离开我?    天空,渐渐变得阴暗起来,午后的狂风肆虐的撕扯着我的心。花一样的季节在渐渐消逝,正如我花一样的青春。我用尽残忍的文字去刻画出一个新的自己。可在我滴血孔子读书阁的心中,却依然有你的背影。转过头,你在温柔的对我笑..&孔子读书阁hell

  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