Azzera filtri
Azzera filtri

How can I call M fuctions in different thread in mex coding matlab and C++?

2 visualizzazioni (ultimi 30 giorni)
Matlab 2019b
I tried to use mexCallMATLAB in the new thread, but failed.
is there any other way to realize that calling M functions in different thread in mex coding matlab and C++?
the following is my code,hello() is a M function:
#include "mex.h"
#include <thread>
#include <stdio.h>
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
std::thread t(mexCallMATLAB(nlhs,(mxArray**)(&plhs[0]),nrhs,(mxArray**)(&prhs[0]),"hello"));
t.join();
}

Risposta accettata

Bruno Luong
Bruno Luong il 27 Lug 2021
No you cannot. MATLAB will crash since many MATLAB functions are not thread safe.

Più risposte (0)

Categorie

Scopri di più su Write C Functions Callable from MATLAB (MEX Files) in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by