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

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

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

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

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

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

    • primary_function_name _initialize.

    • primary_function_name.

    • primary_function_name _terminate.

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

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

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

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

Была ли эта тема полезной?