Standalone Application Crash with infinite timer

10 visualizzazioni (ultimi 30 giorni)
HI,
i tried to create a standalone application with the code below. This code run in matlab ide, but when i start the .exe file created by application compiler tool this crash.
If i put a pause() function after parfeval() (into for) this crash after the execution of the pause function.
How can I solve the problem and what is it due to?
Thank you
delete(gcp('nocreate'));
p = parpool('local');
for i = 1:5
futures(i) = parfeval(@provatimer,0,i);
end
function provatimer(i)
tic
t = timer('TimerFcn',@(~,~)f('timer_parfeval_' + string(i)));
t.ExecutionMode = 'fixedspacing';
t.Period = 4;
start(t);
end
function f(i)
fileID = fopen( i + '.txt','at');
fprintf(fileID,'%f \n',toc);
fclose(fileID);
end
  3 Commenti
Giovanna Scaramuzzino
Giovanna Scaramuzzino il 22 Nov 2021
Modificato: Giovanna Scaramuzzino il 22 Nov 2021
The code run without error in Matlab, (writes endlessly in the files created) .
Using the file .exe this code crashes: files are created and the first value is written, after it crashes. I cant' post the .exe file but I create this with the Standalone Application tool of Matlab.
writing the code with pause(inf) :
for i = 1:5
futures(i) = parfeval(@provatimer,0,i);
end
pause(inf)
the code run also in .exe mode. This practise (use Pause(inf)) i don't think is correct.
Giovanna Scaramuzzino
Giovanna Scaramuzzino il 24 Nov 2021
Before terminate the execution on the Windows Command shell the last phrase is : parallel pool using the local profile is shutting down (this appear only when execute the same code using the file .exe) and then the process terminate.
Why is possible?
I also tried to use parpool('local', 'IdleTimeout',Inf)

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Parallel Computing Fundamentals in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by