Определите, может ли S-функция запуститься многопоточный
ssSetRuntimeThreadSafetyCompliance(SimStruct *S, int_T val)
SSimStruct, представляющий Блок 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