0

我正在研究由三个函数组成的简单计算程序。

首先 f1() 生成某种数据并将其存储在缓冲区(向量或队列或其他)中。

第二个 f2() 获取该数据并对其进行一些计算并将结果存储在另一个缓冲区中。

第三个函数 f3() 对 f2() 的结果进行可视化(创建绘图、报告等)。

这三个功能需要在单核机器上同时运行。我知道 PARFOR 循环和 matlabpool。但它可以创建最大线程数(工人)= min(8,'机器中的核心数')。是否有任何解决方案可以在单核机器上的 matlab 中创建几个线程?

4

1 回答 1

0

如我所见,您有几种选择:

  1. 制作自己的线程。基本上它只是一个不断调用函数的循环。
  2. 一旦相关输入发生变化,使用观察者模式更新结果(实际上也是一个线程 - 但阻止函数重新计算已经评估的输入)
  3. 在您的机器上启动几个 matlab 进程并让它们通过某些协议(端口或文件)发送/接收数据。
于 2013-01-21T12:37:12.110 回答