MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在进行苛刻的计算时,MATLAB会推迟显示调用。这是为什么? (https://www.labfans.com/bbs/showthread.php?t=23364)

poster 2019-12-10 20:41

在进行苛刻的计算时,MATLAB会推迟显示调用。这是为什么?
 
我正在MATLAB中实现算法。它可以计算最短路径等,因此对我的旧计算机要求很高。我在整个程序中放入了[URL="http://www.mathworks.com/help/techdoc/ref/disp.html"]disp()[/URL]调用,以查看所有时间的情况。

但是,当从特别繁重的for循环开始时,即使在循环结束之前,似乎都不会调用disp() 。这是为什么?我以为MATLAB确实是按顺序执行的,还是我只是因为太多的计算而使它阻塞,并且disp()调用的优先级最低?



[B]回答:[/B]

我几乎可以肯定这是因为EDT。

这就是[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/drawnow.html"]drawow()[/URL]的功能。有关详细[URL="http://undocumentedmatlab.com/blog/matlab-and-the-event-dispatch-thread-edt/"]说明,[/URL]请参见[URL="http://undocumentedmatlab.com/blog/matlab-and-the-event-dispatch-thread-edt/"]Yair Altman的文章[/URL] 。

简介:MATLAB图形是Java Swing,并且操作在特殊的线程-事件调度线程(EDT)上进行。调用drawnow();刷新事件队列并更新图形窗口。



[url=https://stackoverflow.com/questions/2728292]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 04:55

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.