exponenta event banner

Вызов кода повторного ввода в многопоточной среде

Для вызова кода повторного ввода создайте main функция, которая:

  • Включает файл заголовка 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 Coder™ генерирует две хозяйственные функции. Вызовите эти функции в коде, вызывающем сгенерированную функцию C/C + +. Дополнительные сведения см. в разделе Развертывание сгенерированного кода.

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

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

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