Async-ContextSwitcher

 view release on metacpan or  search on metacpan

t/basics.t  view on Meta::CPAN


use AnyEvent;
my $cv = AnyEvent->condvar;

my $how_many = 10;

for my $i (1 .. $how_many) {
    Async::ContextSwitcher->new( test => $i );

    my $w;
    $w = AnyEvent->timer( after => rand()*0.1, cb => cb_w_context {
        $w = undef;

        my $cb = cb_w_context {
            is context->{test}, $i, "good $i";
            $cv->send if --$how_many == 0;
        };
        AnyEvent::postpone { $cb->() };
    });
}
$cv->recv;



( run in 0.823 second using v1.01-cache-2.11-cpan-49f99fa48dc )