[Moscow.pm] Вопрос про Coro и Coro::AnyEvent

Nikita Aznauryan nikita-aznaourian на yandex.ru
Ср Фев 16 06:30:24 PST 2011


Для переключения между потоками использую переопределенную функцию sleep

use Coro::AnyEvent; BEGIN { *CORE::GLOBAL::sleep = \&Coro::AnyEvent::sleep; };

Далее определяю несколько async

async {
   while() {
       sleep 1;
       ...
   }
}

async {
   while() {
       sleep 1;
       ...
   }
}

async {
   while() {
       sleep 1;
       ...
   }
}

каждый из которых в свою очередь создает свои async - и

и запускаю все это 

    while () {
        sleep 0;
    }

Вопрос в том, что не понятно в какой последовательности будут запускаться эти потоки.  Есть ли какой-то алгоритм запуска потоков или они могут запускаться в любой последовательности? 


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