主要内容

多线程环境中调用可重入代码

要调用可重入代码,请创建主要功能:

  • 包括头文件primary_function_name. h。

  • 对于每个线程,为全局内存分配结构分配内存primary_function_nameStackData

  • 如果算法使用持久数据或全局数据,则为全局结构分配内存primary_function_namePersistentData.如果线程进行通信,则将此内存分配给根进程一次。否则,您可以为每个线程分配内存。

  • 包含一个调用这些函数的线程函数:

    • primary_function_name_initialize

    • primary_function_name

    • primary_function_name_terminate

    当你转换一个MATLAB®C/ c++库函数或C/ c++可执行文件,MATLAB编码器™生成两个管家功能。在调用生成的C/ c++函数的代码中调用这些函数。有关详细信息,请参见生成部署代码

  • 初始化每个线程,并传递一个指向内存分配结构的指针作为线程函数的第一个参数。

  • 释放用于全局结构的内存。

多线程的例子