[Moscow.pm] HTTPD на короутинах

Nikita Zubkov nikzubkov на gmail.com
Ср Май 23 17:52:32 PDT 2012


Тут все просто, когда Coro-thread'у нужно выполнить какую-либо операцию и
она не может быть сделана без блокировки процесса, Coro выделяет для этого
действия отдельный C-thread, который будет выполняться паралельно, в
результате чего остальные Coro-thread'ы и Coro-scheduler могут спокойно
продолжать работу, пока выполняется эта блокирующая операция.

Такого очень сложно достичь в любом event-loop'е.

23 мая 2012 г., 22:05 пользователь Alexandr Gomoliako <zzz на zzz.org.ua>написал:

> >> Ясно, ну он пишет, что у него там в каждом приложении есть по
> >> несколько C threads и сколько насоздаете perl threads. Т.е. здесь они
> >> просто два разных вида корутин или нет? Надо смотреть реализацию.
> >
> > вне контекста я не понял цитату, что он там имеет в виду, но perl
> threads это
> > просто threads, те самые которые создаются
> > thread->create/beginthread/pthread_create etc а C threads это видимо и
> есть
> > корутины. Они друг друга не исключают, несколько корутин может быть в
> одном
> > треде.
>
> "While the coro thread is running it also might get assigned a C-level
> thread, or the C-level thread might be unassigned from it, as the Coro
> runtime wishes. A C-level thread needs to be assigned when your perl
> thread calls into some C-level function and that function in turn
> calls perl and perl then wants to switch coroutines."
>
> В общем судя по этому, perl threads -- это те которые создаются через
> async {} или new Coro, он их еще называет coroutines, чем они и
> являются, а C threads приклеиваются к ним как дополнение, чтобы
> переключаться по нативному коду, которые на самом деле C coroutines
> (setjpm/longjpm и другие способы как раз для этого).
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
С уважением,
Никита Зубков
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20120524/722a0e6a/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm