Определите, может ли S-функция запуститься многопоточный
ssSetRuntimeThreadSafetyCompliance(SimStruct *S, int_T val)
S
SimStruct, представляющий Блок s-function.
val
Установка податливости Threadsafety. Установка может быть:
RUNTIME_THREAD_SAFETY_COMPLIANCE_UNKNOWN
— Объявите, что не известно, ориентирована ли S-функция на многопотоковое исполнение.
RUNTIME_THREAD_SAFETY_COMPLIANCE_TRUE
— Объявите S-функцию как ориентированную на многопотоковое исполнение.
RUNTIME_THREAD_SAFETY_COMPLIANCE_FALSE
— Объявите S-функцию как не ориентированный на многопотоковое исполнение.
Используйте этот макрос в S-функции, чтобы установить его как ориентированный на многопотоковое исполнение, что означает, что это может запуститься многопоточный. Эта установка работает с 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/slexCoSimPrimeSFcn.c