[Moscow.pm] Эмуляция cede на AE...
Jack of Shadows
somerandomlogin на gmail.com
Пн Июн 16 19:17:14 PDT 2014
А как вы вообще собрались эмулировать корутины асинхронным фреймворком.
Корутины, строго говоря, сами по себе вообще никакого отношения к
асинхронности не имеют (могут использоваться для написания полностью
синхронного кода) -- это просто удобный способ сделать асинхронный код
проще.
2014-06-16 11:54 GMT+04:00 Илья Винокуров <ilvin at mail.ru>:
>
> Sun, 15 Jun 2014 23:22:56 +0300 от Андрей Костенко <andrey at kostenko.name>:
>
> Ох и говно в голове у вас, ребята
>
>
> Давайте переведем разговор на другую тему и не будем обсуждать имидж
> страны Украина в глазах москалей.
>
> Недавно не осилил на AnyEvent сделать эмуляцию cede
>
> Какая была задумка:
>
> use AnyEvent;
>
> my $flag = 0;
>
> sub CEDE {
> my $cv = AE::cv;
> my $w = AE::idle sub {
> return unless $flag > 3;
> $cv->send;
> };
> $cv->recv;
> undef $w
> }
>
> my ($w1, $w2);
> $w1 = AE::timer 1, 1, sub { $flag++ };
> $w2 = AE::idle sub {
> # Тут код
> CEDE(); # Здесь ждем выполнения условия
> # Продолжаем выполнение
> };
>
> AE::cv->recv;
>
> Результат - ошибка:
> EV: error in callback (ignoring): AnyEvent::CondVar: recursive blocking
> wait attempted
>
> В принципе возможна такая эмуляция или Марк сделал все, чтобы AE и Coro не
> конкурировали?
>
> С почтением,
> Илья Винокуров.
>
>
> --
> Moscow.pm mailing list
> moscow-pm at pm.org | http://moscow.pm.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140617/baac7e72/attachment.html>
Подробная информация о списке рассылки Moscow-pm