Mad*_*ddy 19 matlab multithreading
我已经阅读了MATLAB关于多线程的信息以及它在某些函数中的内置方式.但是,我的要求是不同的.说,我有3个函数:fun1(data1),fun2(data2),fun3(data3)....我可以在这些函数之间实现多线程吗?我实际上有300多个使用大量数据的函数.多线程可以帮助我减少很多时间.请建议一个我可以进一步研究的命令或其他东西.谢谢!
Jon*_*nas 23
如果要在不同的处理器上运行一批不同的函数,可以使用并行计算工具箱,更具体地说,使用parfor循环,但是您需要将函数作为句柄列表传递.
funList = {@fun1,@fun2,@fun3};
dataList = {data1,data2,data3}; %# or pass file names
matlabpool open
parfor i=1:length(funList)
%# call the function
funList{i}(dataList{i});
end
Run Code Online (Sandbox Code Playgroud)
编辑:
从R2015a matlabpool函数开始已从 Matlab中删除,您需要调用parpool.