我想使用并行计算工具箱来加速一组相互不依赖的函数调用。为了提高效率,我想使用定时器函数/回调函数在我的一个函数完成执行后继续执行更多函数。我事先不知道哪些会更快,所以我不能将我的函数集分成几个池并设置它们并行运行。
换句话说,我想要一些并行执行来不断从函数池中提取数据。
我设置此设置的唯一方法现在我有一个字符串元胞数组,我在其上使用 str2fun
,是否有更好的方法来执行此操作?
欢迎提问。
最佳答案
没有必要自己写这样的代码。 Matlab 并行工具箱能够创建 scheduler with multiple jobs .
您可以多次调用 createJob
,调度程序将进行拉取。
foos = [@foo1,@foo2,@foo3,@foo4]
for i=1:numel(foos)
obj = createJob();
createTask(obj, foos(i), 1, {'your input'});
submit(obj);
end
关于parallel-processing - 使用并行工具箱创建具有有限数量工作人员 (ThreadPool) 的任务/作业池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9042335/