中并行::环路进行测试没有在Win32 :: OLE工作启动Matlab的多个实例,但中并行:: Forkmanager工作原理是利用从Amro的“单”诀窍和线索从http://www.perlmonks.org/bare/ ?NODE_ID = 894058为“的CoInitialize没有被调用”的错误:
前循环使用:
use Win32::OLE; # qw(EVENTS); #Win32::OLE(0.1709) error 0x800401f0: "CoInitialize has not been called"
Win32::OLE->Initialize();
并且循环使用中:
my $ML = Win32::OLE->new('Matlab.Application.single') or die "Cannot start MATLAB";
$ML->{'Visible'}=0;
$ML->Execute('try;cd \''.$wkdir.'\';'.$executable.' '.$file.' '.$countfile.';catch;end;quit;');
只是使用的OLE使用的instesd目的:
system('matlab -automation -wait -r "try;cd \''.$wkdir.'\';'.$executable.' '.$file.' '.$countfile.';catch;end;quit;');
被隐藏Matlab的窗口,我们只是希望它做的工作,但我们得到的荣誉。 使用Perl实现parallellized MATLAB PARFOR影响,我们可以将所有可用的CPU忙于在中并行循环之前分配的任务,并收集/结果这个循环之后结合。