背景
有个项目生产,需要采用parfor来提高运行速度,函数使用方式如下:
function 函数A()
parfor iii =1 : 1000
函数Fcn(,,,,,,) %
end
end
需要在"函数Fcn"中执行某个操作,需要判断是否处于并发状态
异常描述
在"函数Fcn"中采用了gcp('nocreate')来判断程序是否处于并发状态,采用for循环替换parfor测试的时候(处于并发模式下),"函数Fcn"可以有效判断当前处于并发状态;
但当使用parfor时,则"函数Fcn"一直按不并发来处理
解决方案
在parfor的函数结构中, 仅能在“ 函数A”中 gcp('nocreate')起作用;在"函数Fcn"则无法判断是否处于并发状态,该句柄无效;
只能在"函数Fcn"增加字符开关,由“ 函数A”给"函数Fcn"传递某个变量,让"函数Fcn"来判断当前是否处于并发状态。
通过增加字符开关的方式,测试通过。
(转载自)作者:-何其-https://www.bilibili.com/read/cv14363751?from=search&spm_id_from=333.337.0.0出处:bilibili
小伙伴有兴趣的了解更多关于matlab的使用,可以关注一下我的公众号程式解说,扫码下图即可了解更多资讯,关注我,不迷路!