Александр, кооперативная многозадачность не обязана быть выполнена на уровне операционной системы.<div><br></div><div>Речь об уровне приложения. На уровне приложения сопрограммы вполне обеспечивают кооперативную многозадачность.</div>
<div><br></div><div>cede;<br><br><div class="gmail_quote">25 мая 2012 г., 19:32 пользователь 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>
> многократно в других средах программирования.<br>
<br>
</div>Нет, не реализует он многозадачность. Многозадачность, это когда не<br>
нужно явно передавать управление, т.е. задачи могут запускаться<br>
независимо друг от друга. Такие корутины нигде толком не "проверены",<br>
потому что это сложно и ничего не дает, по сравнению с точно такой же<br>
явной передачей управления при работе с event loop'ом. Совсем другое,<br>
когда есть пул OS threads и на них scheduler раскладывает корутины,<br>
как в Go или Erlang.<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></div>