主要内容

生成和调用可重入代码

为单线程或多线程环境生成和调用可重入代码

默认情况下,生成的代码进行创建静态变量的大小超过最大堆栈使用值,存储在配置对象设置StackUsageMax.数据静态变量在函数调用之间持续存在。同样,MATLAB的数据®函数调用之间存在全局变量和持久化变量。因此,如果主函数在多个线程中执行生成的代码,就会出现不确定的竞态条件。

要生成更适合在多个线程中同时执行的代码,可以使用MultiInstanceCode配置选项。使用此选项时,生成的代码将可能超出本地线程存储的数据包装到结构定义中,以便您可以为该结构单独分配线程安全内存。类似地,代码生成器将持久数据和全局数据包装到自己的内存结构中。当不应该共享此内存时,可以为线程使用的数据结构分配单独的内存。

主题

可重入代码基础

工作流