Raspberry Pi:Библиотеки/WiringPi/Приоритет, прерывания и потоки/Параллельная обработка данных (многопоточность)/piThreadCreate(): различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 9: | Строка 9: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
int piThreadCreate(name); | int piThreadCreate(name); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 19: | Строка 19: | ||
'''«Поточная»''' функция объявляется следующим образом: | '''«Поточная»''' функция объявляется следующим образом: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
PI_THREAD (myThread) | PI_THREAD (myThread) | ||
{ | { | ||
Строка 29: | Строка 29: | ||
Чтобы запустить ее в главной программе, нужно вписать в ней следующее: | Чтобы запустить ее в главной программе, нужно вписать в ней следующее: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
x = piThreadCreate (myThread) ; | x = piThreadCreate (myThread) ; | ||
if (x != 0) | if (x != 0) | ||
Строка 37: | Строка 37: | ||
В сущности, это ничто иное как упрощенный интерфейс для механизма работы с потоками '''POSIX''', который реализован в '''Linux'''. Если вы хотите углубиться в работу с потоками '''POSIX''', то более подробно о них можно почитать в мануале '''Linux''' (воспользуйтесь командой | В сущности, это ничто иное как упрощенный интерфейс для механизма работы с потоками '''POSIX''', который реализован в '''Linux'''. Если вы хотите углубиться в работу с потоками '''POSIX''', то более подробно о них можно почитать в мануале '''Linux''' (воспользуйтесь командой | ||
<syntaxhighlight lang="bash | <syntaxhighlight lang="bash"> | ||
man pthread | man pthread | ||
</syntaxhighlight> | </syntaxhighlight> |
Текущая версия от 19:52, 23 мая 2023
Содержание | Введение | Продукты | Операционная система | Настройка | Основы 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
).