在matlab中有像后台工作器这样的功能吗?
本文关键字:功能 工作 matlab 后台 | 更新日期: 2023-09-27 18:14:47
我需要像c#中的后台工作者在matlab中使用的东西。仅供参考,drawnow
不会有用,因为我不想在GUI中的后台线程。我需要它在加工中。
那么,在matlab中有类似的东西吗?
谢谢。
No。不是真的。Matlab几乎完全是一个单线程环境。
与此相关的一些注意事项
-
工作线程的某些方面可以通过巧妙地使用Timer对象来完成。一个项目在一个时间点执行,要么是定时器对象,要么是主执行活动。计时器不会彼此中断,但它们可以中断主执行线程。因此,您可以将昂贵的操作放在主活动中,而将一些维护活动放在计时器中。
确定哪些函数可以被计时器中断是很棘手的。我最大的努力就是在回答另一个问题。我和Mathworks一起研究了这个问题,并确定确实没有令人满意的答案。
-
Java方法可以从事件调度线程执行。参见
javaMethodEDT
。(这可能对你没有帮助,但我正试图优化我的Matlab/threading语音。) -
外部程序(如Java, C, c#等)可以自带线程。这些程序可以在Matlab中运行。
我发现了一些完全像C#
的后台工作人员。
t = timer('TimerFcn',@(x,y)disp(clock),'StartDelay',5,'ExecutionMode','fixedSpacing');
start(t)
后台线程将在5秒后运行并显示clock
函数的输出。'fixedSpacing'
表示结束后自动运行