proper use of DataQueue and PollableDataQueue inside of App Designer class?

7 views (last 30 days)
Hi all,
I am aware there are some limitations for the usage of Parallel Computing Toolbox inside of App Designer. How could I set up a method that uses a dataqueue and/or a pollable dataqueue to send data back to the client? I keep getting the following warning:
Warning: Unable to save App Designer app object. Save not supported for matlab.apps.AppBase objects.
I would like to do something similar to the code below
classdef testClass < matlab.apps.AppBase
properties
q;
future1;
end
methods
function app = testClass()
app.q = parallel.pool.DataQueue;
app.q.afterEach(@(x) disp(x));
app.future1 = parfeval(@app.gen,0,app.q);
end
end
methods(Static)
function gen(q)
iter = 1;
while iter < 10
send(q, randn(1));
iter = iter + 1;
pause(0.1);
end
end
end
end

Accepted Answer

Edric Ellis
Edric Ellis on 25 May 2022
In this case, the problem is not with your DataQueue - it's actually with the function handle you're passing in to parfeval. The syntax @app.gen actually binds the value of app into the function_handle - but you don't need that. So, in this case, you can fix this simply by naming the Static method like so:
app.future1 = parfeval(@testClass.gen,0,app.q);

More Answers (0)

Categories

Find more on Downloads in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!