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

<div><br></div><div>Такого очень сложно достичь в любом event-loop'е.<div><br></div><div><div class="gmail_quote">23 мая 2012 г., 22:05 пользователь Alexandr Gomoliako <span dir="ltr"><<a href="mailto:zzz@zzz.org.ua" target="_blank">zzz@zzz.org.ua</a>></span> написал:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">>> Ясно, ну он пишет, что у него там в каждом приложении есть по<br>
>> несколько C threads и сколько насоздаете perl threads. Т.е. здесь они<br>
>> просто два разных вида корутин или нет? Надо смотреть реализацию.<br>
><br>
> вне контекста я не понял цитату, что он там имеет в виду, но perl threads это<br>
> просто threads, те самые которые создаются<br>
> thread->create/beginthread/pthread_create etc а C threads это видимо и есть<br>
> корутины. Они друг друга не исключают, несколько корутин может быть в одном<br>
> треде.<br>
<br>
</div>"While the coro thread is running it also might get assigned a C-level<br>
thread, or the C-level thread might be unassigned from it, as the Coro<br>
runtime wishes. A C-level thread needs to be assigned when your perl<br>
thread calls into some C-level function and that function in turn<br>
calls perl and perl then wants to switch coroutines."<br>
<br>
В общем судя по этому, perl threads -- это те которые создаются через<br>
async {} или new Coro, он их еще называет coroutines, чем они и<br>
являются, а C threads приклеиваются к ним как дополнение, чтобы<br>
переключаться по нативному коду, которые на самом деле C coroutines<br>
(setjpm/longjpm и другие способы как раз для этого).<br>
<div class="HOEnZb"><div class="h5">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>С уважением,<br>Никита Зубков<br>
</div></div>