我有一個子程序,我想平行Coro
執行:並行運行Perl子與科羅
use strict;
use warnings;
use Coro;
sub mysub {
my ($in) = @_;
print "$in \n";
foreach my $i (0..100000000){
$i=$i+1;
}
return 1;
}
從Coro intro我讀書,我怎麼可以創建線程:
for (
(async{ mysub "A" } ),
(async{ mysub "B" } ),
(async{ mysub "C" } ),
(async{ mysub "X" } ),
(async{ mysub "Y" } )
) {
$_->join;
}
但是,線程已創建,但我怎樣才能並行運行它們?該示例指出Coro::Socket(或更好的AnyEvent::Socket
)使並行執行成爲可能,但我如何在我的簡單示例中完成此項工作?
另外(但這是第二個問題),爲什麼在上面的for-loop中,參數mysub
得到了通過,但在下面的例子中沒有?
my @letters = ("A", "B", "C", "X", "Y");
my @in = map { (async {mysub $_ }) } @letters;
for (@in) {$_->join};
[Define「does not work」,please。](http://tlp-perl.blogspot.se/2013/06/its-not-working.html) – TLP 2014-11-04 12:42:59