Вызовите повторно используемый код в многопоточной среде

Чтобы вызвать повторно используемый код, создайте main функция, что:

  • Включает заголовочный файл primary_function_nameH.

  • Для каждого потока, выделяет память для структуры выделения глобальной памяти primary_function_nameStackData.

  • Если персистентные или глобальные данные использования алгоритма, выделяет память для глобальной структуры primary_function_namePersistentData. Если потоки передают, выделяют эту память однажды для корневого процесса. В противном случае можно выделить память на поток.

  • Содержит функцию потока, которая вызывает эти функции:

    • primary_function_name_initialize.

    • primary_function_name.

    • primary_function_name_terminate.

    Когда вы преобразуете функцию MATLAB® в библиотечную функцию C/C++ или исполняемый файл C/C++, MATLAB Coder™ генерирует две функции обслуживания. Вызовите эти функции в коде, который вызывает сгенерированную функцию C/C++. Для получения дополнительной информации смотрите, Развертывают Сгенерированный код.

  • Инициализирует каждый поток и передает в указателе на структуру выделения памяти как первый параметр к функции потока.

  • Освобождает память, используемую для глобальных структур.

Многопоточные примеры