<div>Разговор ни о чем.</div>Вы доказали себе, что Coro, это бред, не пользуйтесь, любите eventloop'ы - любите, но и писать сюда, что это бред и медленно, не нужно, т.к. это не так.<br><br><div class="gmail_quote">24 мая 2012 г., 6:35 пользователь 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">> она не может быть сделана без блокировки процесса, Coro выделяет для этого<br>
> действия отдельный C-thread, который будет выполняться паралельно<br>
<br>
</div>Нет, параллельно ничего не будет выполняться, заставили меня<br>
посмотреть в libcoro, все на одном процессоре. И там non-preemptive<br>
scheduling, т.е. явная передача управления. Даже в случае с pthreads<br>
там глобальный мутекс. Так что любая CPU интенсивная задача будет<br>
мешать всем корутинам в процессе. Это один в один как с event<br>
loop'ами, ну только намного сложнее.<br>
<br>
Из libcoro/coro.c:<br>
/* this mutex will be locked by the running coroutine */<br>
pthread_mutex_t coro_mutex<br>
<div class="im"><br>
> А где вы прочитали про: "не гарантирует, что не прервется, так что семафоры и локи<br>
> для синхронизации нужны"?<br>
<br>
</div>Нигде не увидел, чтобы гарантировал, потому так и подумал, но все-таки<br>
гарантирует. Пришлось смотреть исходники, чтобы это понять.<br>
<br>
В общем коро это бред, а сложный софт и вся эта догма уже реально<br>
достали. Это ни к чему хорошему не приводит, вон ООП в целую религию<br>
переросло: есть те кто верит, а есть те, кто знает почему это маразм.<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>