Is the C API thread-safe?
显示 更早的评论
I am working on an application that spawns a thread from a modified rt_lx_main.cpp at model startup and subsequently sets parameters in the Simulink model using the C API interface. I plan on doing this at startup as well as during run time. If I do this a run time, is there any issue of data corruption, or in other words is the C-API thread safe? I only plan on running one thread that will modify parameters in the Simulink model, but would me modifying this code from a thread during run time cause any issues with what happens in the model? I'm using Embedded Coder and G++ to build the model and associated Source Code.
回答(2 个)
James Tursa
2017-2-17
1 个投票
In general, mex API functions are not thread safe. In particular, any functions that allocate/deallocate memory (e.g. the mxCreateEtc, mxDestroyArray, mxFree, etc) are not thread safe. API functions that only "inquire" (e.g. mxGetPr, mxGetPi, etc) would probably be thread safe.
类别
在 帮助中心 和 File Exchange 中查找有关 Simulink Coder 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
