Raspberry Pi:Библиотеки/WiringPi/Приоритет, прерывания и потоки/Параллельная обработка данных (многопоточность)/piThreadCreate()
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Черновик |
Функция 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
).