Multi-threading with .net framework
Afficher commentaires plus anciens
When I run following code, I expect to see mixed printing from both functions. However, they run sequentially not in parallel. How can I change this code to force Matlab prints results from both functions together? Is there anyway without using Parallel computing?
NET.addAssembly(strcat(pwd,'\','NetDocDelegate.dll'));
divDel = NetDocDelegate.delInteger(@Run);
asyncRes{1} = divDel.BeginInvoke(1,[],[]);
if asyncRes{1}.IsCompleted == false
asyncRes{2} = divDel.BeginInvoke(2,[],[]);
end;
function ret = Run(l)
for i=1:100000
display(strcat(num2str(i),'(',num2str(l),')'))
end;
ret = l;
end
Réponses (1)
Guillaume
le 8 Mar 2017
0 votes
Matlab is single threaded. There is no way for both delegate to run simultaneously. You would indeed need the parallel toolbox to do something like that.
3 commentaires
Seyedfarid Ghahari
le 8 Mar 2017
Seyedfarid Ghahari
le 8 Mar 2017
Modifié(e) : Guillaume
le 8 Mar 2017
Catégories
En savoir plus sur .NET Events and Delegates in MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!