Raspberry Pi:Библиотеки/WiringPi/Приоритет, прерывания и потоки/Параллельная обработка данных (многопоточность)/piThreadCreate()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


Функция piThreadCreate()[1]

Синтаксис

int piThreadCreate(name);

Описание

Эта функция создает поток, являющийся еще одной функцией вашей программы, которую прежде объявили при помощи конструкции PI_THREAD. Впоследствии эта функция будет работать одновременно с вашей главной программой. К примеру, эта функция может ждать прерывания, пока ваша программа выполняет какие-то другие задачи. Кроме того, этот поток может ждать наступления события, действия (с помощью глобальных переменных «общаясь» с главной программой) или следить за другими потоками.

«Поточная» функция объявляется следующим образом:

PI_THREAD (myThread)
{
  ...здесь впишите код, который будет работать одновременно 
     с главной программой (возможно, в бесконечном цикле).
}

Чтобы запустить ее в главной программе, нужно вписать в ней следующее:

x = piThreadCreate (myThread) ;
if (x != 0)
  printf ("it didn't startn")

В сущности, это ничто иное как упрощенный интерфейс для механизма работы с потоками POSIX, который реализован в Linux. Если вы хотите углубиться в работу с потоками POSIX, то более подробно о них можно почитать в мануале Linux (воспользуйтесь командой

man pthread

).

См.также

Внешние ссылки