<br><br><div class="gmail_quote">2012/10/16 ksvs <span dir="ltr"><<a href="mailto:ksvs1996@ymail.com" target="_blank">ksvs1996@ymail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div><span>Можно попробовать, как кто-то мне говорил, асинхронные библиотеки. А какие? Их так много на CPAN.<br><br></span></div></div></div>
</blockquote><div>AnyEvent::HTTP, Mojo::UserAgent</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:times new roman,new york,times,serif">
<div><span>Но, ведь кроме получения данных надо их обрабатывать.<br>Хочется, чтобы все ядра процессора работали, а не одно.<br>Поэтому надо использовать fork.<br></span></div></div></div></blockquote><div><br></div><div>Можно сделать AnyEvent::HTTP + AnyEvent::Worker</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div>Да и базы данных все синхронные, кажется.</div>
</div></div></blockquote><div> </div><div>Синхронность/асинхронность бывает разной.</div><div><br></div><div>Бывает синхронный протокол, синхронная реализация.</div><div>Пример: HTTP + LWP</div><div>Бывает синхронный протокол, асинхронная реализация.</div>
<div><div>Пример: HTTP + AnyEvent::HTTP</div></div><div><div>Бывает асинхронный протокол, синхронная реализация.</div><div><div><div>Пример: XMPP + Net::XMPP</div><div></div></div></div><div><div>Бывает асинхронный протокол, асинхронная реализация.</div>
</div><div>Пример: XMPP + AnyEvent::XMPP</div><div></div></div><div><br></div><div>В большинстве случаев не важно как устроено то, с чем вы общаетесь, важно как именно вы общаетесь.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times new roman,new york,times,serif"><span>Или асинхронные библиотеки были нужны в прошлом, когда интернет был медленный и процессоры с одним ядром?<br>
</span></div></div></div></blockquote><div><br></div><div>Скорее наоборот. Когда нагрузки были маленькие можно было позволить 1 процессу обслуживать одного пользователя. Сейчас один процесс на одном ядре должен обслуживать десятки и сотни тысяч пользователей одновременно</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times new roman,new york,times,serif">
<span>А сейчас изучение затормозилось. Не могу найти
 хороший модуль, для общения с дочерними процессами.<br>Есть модуля для распараллеливания задач по fork, но они все примитивные.<br>Хочется, чтобы дочерний процесс мог у родителя запросить дополнительные данные, если в этом возникнет необходимость,<br>
вернуть промежуточные результаты и прочие.<br></span></div></div></div></blockquote><div><br></div><div>Про общения между процессами почитайте-ка лучше доку perlipc</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:times new roman,new york,times,serif"><span>В каком модуле на СПАНЕ это есть? А есть, чтобы можно было не только задействовать все ядра CPU, а и несколько компьютеров?<br>
</span></div></div></div></blockquote><div><br></div><div>для нескольких компов - AnyEvent::MP</div><div> </div></div><br clear="all"><div><br></div>-- <br>Best wishes,<br>Vladimir V. Perepelitsa aka Mons Anderson<br><<a href="mailto:inthrax@gmail.com">inthrax@gmail.com</a>>, <<a href="mailto:mons@cpan.org">mons@cpan.org</a>><br>
<a href="http://github.com/Mons">http://github.com/Mons</a><br>