在matlab中有像后台工作器这样的功能吗?

本文关键字:功能 工作 matlab 后台 | 更新日期: 2023-09-27 18:14:47

我需要像c#中的后台工作者在matlab中使用的东西。仅供参考,drawnow不会有用,因为我不想在GUI中的后台线程。我需要它在加工中。

那么,在matlab中有类似的东西吗?

谢谢。

在matlab中有像后台工作器这样的功能吗?

No。不是真的。Matlab几乎完全是一个单线程环境。

与此相关的一些注意事项

  1. 工作线程的某些方面可以通过巧妙地使用Timer对象来完成。一个项目在一个时间点执行,要么是定时器对象,要么是主执行活动。计时器不会彼此中断,但它们可以中断主执行线程。因此,您可以将昂贵的操作放在主活动中,而将一些维护活动放在计时器中。

    确定哪些函数可以被计时器中断是很棘手的。我最大的努力就是在回答另一个问题。我和Mathworks一起研究了这个问题,并确定确实没有令人满意的答案。

  2. Java方法可以从事件调度线程执行。参见javaMethodEDT。(这可能对你没有帮助,但我正试图优化我的Matlab/threading语音。)

  3. 外部程序(如Java, C, c#等)可以自带线程。这些程序可以在Matlab中运行。

我发现了一些完全像C#的后台工作人员。

t = timer('TimerFcn',@(x,y)disp(clock),'StartDelay',5,'ExecutionMode','fixedSpacing');

start(t)

后台线程将在5秒后运行并显示clock函数的输出。'fixedSpacing'表示结束后自动运行