関数drawnow
Figure ウィンドウとその子を更新し、システム イベント キューをフラッシュします。着信イベント (マウスまたはキー イベントなど) によって生成されたコールバックは、
drawnow
戻る前にディスパッチされます。
次のスクリプトがあります。
clear all;
clc;
t = timer;
set(t, 'Period', 1);
set(t, 'ExecutionMode', 'fixedSpacing');
set(t, 'TimerFcn', @(event, data) disp('Timer rollover!'));
start(t);
while(1)
%# do something interesting
drawnow;
end
をdrawnow
配置すると、タイマー イベントが毎秒発生します。これがないと、while
ループが「ブロック」されるため、コールバック関数は発生しません。
私の質問:
1) Figure ウィンドウを更新せずにキューをフラッシュする方法はありますか?
2) 「イベント キューをフラッシュする」と言うとき、「イベント キュー内のすべてを実行する」、「キュー内の次のものを実行し、他のすべてをキューから削除する」、またはまったく別の何かを意味しますか?
プログラムのバックグラウンドで発生している複数の個別のタイマーからの複数のコールバック関数があります。これらのコールバックのいずれかを実行しないことは、私にとって選択肢ではありません。明確にして、正しいことをしていることを確認したかっただけです。