ssSetRuntimeThreadSafetyCompliance

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

Синтаксис

ssSetRuntimeThreadSafetyCompliance(SimStruct *S, int_T val)

Аргументы

S

SimStruct, представляющий блок S-Function.

val

Податливость безопасности резьбы. Настройка может быть:

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

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

  • RUNTIME_THREAD_SAFETY_COMPLIANCE_FALSE - Объявите S-функцию не threadsafe.

Описание

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

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

Языки

C, C++

Пример

Смотрите S-функцию, используемую в matlabroot/ toolbox/simulink/simdemos/simfeatures/src/slex Co Sim Prime SF cn.c

Введенный в R2018a