exponenta event banner

ssSetRuntimeThreadSafetyCompliance

Определите, может ли S-функция работать в многопоточном режиме

Синтаксис

ssSetRuntimeThreadSafetyCompliance(SimStruct *S, int_T val)

Аргументы

S

SimStruct представляет S-функциональный блок.

val

Настройка соответствия требованиям Threadsafety. Настройка может быть следующей:

  • RUNTIME_THREAD_SAFETY_COMPLIANCE_UNKNOWN - Объявите, что неизвестно, является ли S-функция threadsafe.

  • RUNTIME_THREAD_SAFETY_COMPLIANCE_TRUE - Объявить S-функцию как threadsafe.

  • RUNTIME_THREAD_SAFETY_COMPLIANCE_FALSE - Объявите S-функцию не многопоточной.

Описание

Используйте этот макрос в S-функции, чтобы установить его как threadsafe, что означает, что он может работать в многопоточном режиме. Этот параметр работает с set_param функция MultithreadedSim свойство block. Поведение таково:

ВыборMultithreadedSim НастройкаS-функция работает с одной или с несколькими потоками
RUNTIME_THREAD_SAFETY_COMPLIANCE_UNKNOWN'auto'Одиночный поток
RUNTIME_THREAD_SAFETY_COMPLIANCE_TRUE'auto'Мультинить
RUNTIME_THREAD_SAFETY_COMPLIANCE_FALSE'auto'Одиночный поток
'off'Установка игнорируется, и S-функциональный блок работает в одиночном режиме

Языки

C, C++

Пример

См. S-функцию, используемую в matlabroot/toolbox/simulink/simdemos/simfeatures/src/slexCoSimPrimeSFcn.c

Представлен в R2018a