我正在 matlab appdesigner 中开发一个软件,它将在 parforloop 下同时运行两个函数。第一个函数有一个NamedPipe 对象,错误是: 使用 uifigure 函数为 app 变量创建的图形不支持功能,也无法加载 .Net 对象。parforloop 下的 NamedPipe 对象有什么问题?如何在 matlab appdesigner 中运行具有并行性的命名管道通信?这是我的代码
function func1(app)
%disp('Function 1');
disp(strcat('Function 1----',datestr(now)));
pause(2);
disp(strcat('Function 1----',datestr(now)));
NET.addAssembly('System.Core');
MypipeServer = System.IO.Pipes.NamedPipeServerStream('my_pipe', ...
System.IO.Pipes.PipeDirection.InOut, ...
System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances,...
System.IO.Pipes.PipeTransmissionMode.Byte,...
System.IO.Pipes.PipeOptions.Asynchronous);
disp("Waiting for client connection...");
MypipeServer.WaitForConnection();
disp("Client Connected");
disp('Reading data from Client');
pause(2);
sr = System.IO.StreamReader(MypipeServer);
%sw = System.IO.StreamWriter('E:/pipeKo.txt')
line = sr.ReadLine();
disp(line);
end
function func2(app)
%disp('Function 2');
disp(strcat('Function 2----',datestr(now)));
pause(2);
disp(strcat('Function 2----',datestr(now)));
end
function ClickOnButtonValueChanged(app, event)
parfor i = 1:2
if i == 1
func1(app);
else
func2(app);
end
end
end