Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.3. Синхронизация потоков RDS

А.5.3.2. rdsCallerThreadType – тип вызвавшего потока

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.3. Синхронизация потоков RDS

##### А.5.3.2. rdsCallerThreadType – тип вызвавшего потока

Функция rdsCallerThreadType позволяет определить, в каком потоке сейчас выполняется вызвавшая функция – в главном потоке или в потоке расчета.

      int RDSCALL rdsCallerThreadType(void);

Тип указателя на эту функцию

RDS_IV

Возвращаемое значение

Одна из двух констант, указывающая тип потока:

RDS_THREADMAIN | Главный поток (обслуживает интерфейс пользователя).
RDS_THREADAUX | Поток расчета (в режиме расчета выполняет циклический запуск моделей блоков).

Примечания

В режиме расчета в RDS, как правило, работает одновременно два потока: главный поток, обслуживающий окна и интерфейс пользователя, и поток расчета, в котором в цикле вызываются модели блоков схемы и выполняется передача данных по связям. В потоке расчета крайне нежелательно выполнять некоторые действия – например, открытие модальных окон, которое приведет к остановке расчета. Поскольку некоторые события блоков могут возникать как в главном потоке, так и в потоке расчета, функция модели может узнать, в каком именно потоке она сейчас работает, вызовом rdsCallerThreadType.