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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
Строка 9: Строка 9:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
int piThreadCreate(name);
int piThreadCreate(name);
</syntaxhighlight>
</syntaxhighlight>
Строка 19: Строка 19:
'''«Поточная»''' функция объявляется следующим образом:
'''«Поточная»''' функция объявляется следующим образом:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
PI_THREAD (myThread)
PI_THREAD (myThread)
{
{
Строка 29: Строка 29:
Чтобы запустить ее в главной программе, нужно вписать в ней следующее:
Чтобы запустить ее в главной программе, нужно вписать в ней следующее:


<syntaxhighlight lang="c" enclose="div">
<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" enclose="div">
<syntaxhighlight lang="bash">
man pthread
man pthread
</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 19:52, 23 мая 2023

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


Черновик


Функция 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

).

См.также

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