具有MATLAB来运行多个独立函数,这些功能包含无限的循环



我当前正在使用三个MATLAB函数,以使它们在单个MATLAB会话中同时运行(我知道MATLAB是单线读取),这三个函数已分配给单个任务,IT我可能很难在此处解释每个功能的所有细节,但请尝试包含尽可能多的信息。

它们是控制/摄像机/data_display任务,我使用的方法是创建计时器对象,以使所有函数在不同的回调期间连续回调。

  1. 控件将通过UDP端口通过wifi发送和接收数据,它将检查包的可用性,并不断执行回调
  2. 相机通过TCP连续接收摄像头框架并显示一个计时器对象T1以刷新捕获框架
  3. data_display显示所有收到的数据,这将连续刷新,因此此功能的另一个计时器T2可以刷新显示

但是,我注意到计时器T2在执行计时器T1并减慢整个过程时会阻止计时器T1。我正在使用多核CPU进行系统工作,我希望MATLAB能够利用计算核并并行执行两个计时器对象。

通过在MATLAB中搜索并行计算工具箱,它似乎无法处理无限循环或连续回调,因为执行时代码不会完成并没有显示任何内容,可能我不确定如何使用此工具箱

或任何人都可以提供将代码重新结构为更有效结构的任何好主意。

非常感谢

我在此处使用并行计算工具箱看到了一个问题。设计意味着这些作业是通过您的主要MATLAB实例控制的。除此之外,主要实例是唯一一个具有GUI的实例,它需要让您的Display_data-Task控制所有内容。我不知道这是否可能,但这会导致非常奇怪的架构。除此之外,处理大量数据数量时的过程交流并不是最好的主意。

要解决问题,我将使用Java显示您的数据并实现" Display_data'-part"。与Java的连接非常快速且易于使用。您将必须编写一个具有appendframe功能的小Java GUI,允许您的CAMERA -JOB推出新数据。显然,要更新GUI的情况应并行进行而不阻止。

最新更新