【发布时间】:2016-07-13 19:35:07
【问题描述】:
for 循环的每 n 步我都需要执行一个耗时的操作,之后我只需要 n 次迭代(下次我调用这个耗时的操作)——我仍然需要迭代 i-1 的结果来开始计算。
我相信我可以从多线程中受益 - 只有 2 个线程。在我: (第一个线程):继续运行主循环,直到它到达 i + n 并等待第二个线程完成。 (2nd) 做耗时的操作。
无论如何要在 Matlab 中实现它??
for i=1:1:N
y(i) = g(y(i-1), x(i-1));
if(mod(i, n) == 1)
x(i) = f(x(i-n), y(i-1)); %Time consuming
else
x(i) = x(i-1);
end
end
谢谢!
【问题讨论】:
-
这不是多线程的工作原理。
-
那么并行处理?
标签: multithreading matlab