Вызов входящего кода в многопоточном окружении

Чтобы вызвать повторный код, создайте 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 + +. Дополнительные сведения см. в разделе Развертывание сгенерированного кода.

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

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

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