Matlab과 멀티 스레드의 고전적인 문제가 있습니다.Matlab의 프로세스에 타이머를 적용하는 방법
내 Matlab 버전이 Visual Studio 2013을 인식하지 못하기 때문에 MEX를 사용할 수 없습니다. 간단한 Parallel Computing Toolbox로 해보고 싶습니다.
내 문제 :
블록의 모든 때까지 완료되어, 나는 GUI를 가지고 몇 가지 무거운 계산은 특정 지점에서 시작합니다. 이 계산은 몇 시간 동안 지속될 수 있으며 일시 중지하고 어떻게 진행되는지 확인하고 매개 변수를 미세 조정할 수 있기를 원합니다. 그래서 서면으로 버튼이 있습니다. PAUSE. 물론 모든 것이 차단 되었기 때문에이 작업을 수행하지 않습니다.
나는 타이머를 만드는 것을 생각하고 있었다. 매 10 초마다 처리가 멈추고, PAUSE가 눌려지면 PAUSE가 실행되고, 그렇지 않으면 계속 진행한다. 타이머의 콜백이 처리되어 차단되기 때문에 여전히이 기능이 작동하지 않습니다.
의견이 있으십니까? 당신이 대화 상자를 닫습니다 때마다
h=helpdlg('press okay to pause')
while true
if ~ishandle(h)
keyboard;
h=helpdlg('press okay to pause');
end
pause (3)
disp('simulating')
end
이 ~ishandle(h)
사실이되고 keyboard
루프를 중지 :
이 솔루션을 정확히 사용하는 방법은 무엇입니까? –