parfor 循环的主体不能包含break
语句。:
parfor 语句通过分解循环的迭代并在多个 MATLAB worker 上运行这些迭代来工作。使用 break 和 return 语句意味着循环的后续迭代不应在这两个语句中的任何一个执行后运行。因此,循环迭代必须按顺序运行。但是,为了使 parfor 循环有效,运行连续循环迭代的结果不能取决于它们运行的顺序。
例如以下将不起作用:
if matlabpool('size') == 0 % checking to see if my pool is already open
matlabpool(2)
end
parfor i=1:10
inv(rand(1000))
break
end
有什么常用的方法来模仿parfor中的休息吗?