我有一个 MATLAB 函数MyFun,它被编译成一个共享库
mcc -W lib:libMyFun -T link:lib MyFun
此函数应在 c++ 环境(即 Visual Studio)中使用。由于该函数需要相当长的时间,我想实现某种进度和状态报告,不是由 MATLAB 可视化(没有等待栏等),而是在 c++ 中使用。
目前我正在尝试在单独的线程中触发startLongEvaluation()方法,然后在 while 循环中等待这样的进度和状态报告
...
std::thread(startLongEvaluation);
...
while (true)
{
GetStatus(&progress, &status);
if (progress >= 100) {
break;
}
}
...
问题是,GetStatus -Method 在startLongEvaluation -method 运行时被阻止。似乎 MCR 不允许多线程。
任何建议或其他想法如何实现目标?