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

Alexandr Gomoliako zzz на zzz.org.ua
Ср Май 23 13:05:47 PDT 2012


>> Ясно, ну он пишет, что у него там в каждом приложении есть по
>> несколько 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