Running two loop together at the same time

13 Ansichten (letzte 30 Tage)
dsq dq
dsq dq am 19 Aug. 2021
Beantwortet: Raymond Norris am 19 Aug. 2021
Hey everyone !
I am currently trying to run the two while loops at the exact same time. When the user click on a button I would like somethings like this to happen :
function start_Callback(hObject, eventdata, handles)
while
xxxx
end
while
xxxxxx
end
I would like this two while loop to run together (I hope it's understandable ^^' ). I dind't find the solution to my problem on the forum, so sorry if it has already been asked ....
Thanks you very much for your anwser !

Akzeptierte Antwort

Raymond Norris
Raymond Norris am 19 Aug. 2021
Try using parfeval, such as the following pseudo code
function start_Callback(hObject, eventdata, handles)
pool = gcp('nocreate');
if isempty(pool)
% Explictily start a 2-worker pool
pool = parpool('local',2);
end
f1 = pool.parfeval(@while1,...);
f2 = pool.parfeval(@while2,...);
A couple of notes
  1. You might want to start a pool elsewhere or with a different size.
  2. You'll need to refactor your while-loops as "units of work". That is, write them as subfunctions that can be called on their own. Look at the parfeval doc for additional arguments required (input/output, etc.).
  3. After spawning the code, you might need to cancel the tasks.

Weitere Antworten (0)

Kategorien

Mehr zu Scripts finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by