Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.3. Синхронизация потоков RDS
А.5.3.2. rdsCallerThreadType – тип вызвавшего потока
Функция rdsCallerThreadType позволяет определить, в каком потоке сейчас выполняется вызвавшая функция – в главном потоке или в потоке расчета.
int RDSCALL rdsCallerThreadType(void);
Тип указателя на эту функцию
RDS_IV
Возвращаемое значение
Одна из двух констант, указывающая тип потока:
| RDS_THREADMAIN | Главный поток (обслуживает интерфейс пользователя). |
| RDS_THREADAUX | Поток расчета (в режиме расчета выполняет циклический запуск моделей блоков). |
Примечания
В режиме расчета в RDS, как правило, работает одновременно два потока: главный поток, обслуживающий окна и интерфейс пользователя, и поток расчета, в котором в цикле вызываются модели блоков схемы и выполняется передача данных по связям. В потоке расчета крайне нежелательно выполнять некоторые действия – например, открытие модальных окон, которое приведет к остановке расчета. Поскольку некоторые события блоков могут возникать как в главном потоке, так и в потоке расчета, функция модели может узнать, в каком именно потоке она сейчас работает, вызовом rdsCallerThreadType.