Raspberry Pi:Библиотеки/WiringPi/Приоритет, прерывания и потоки

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

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


Черновик


WiringPi: Приоритет, прерывания и потоки[1]

Библиотека WiringPi обладает вспомогательными функциями, которые позволяют управлять приоритетом потоков и запускать новые потоки. Потоки работают одновременно с вашей главной программой и могут пригодиться для самых разных целей. Чтобы почитать о потоках более подробно, погуглите фразу «потоки POSIX».

Приоритет программ (потоков)

Прерывания

Благодаря новому патчу ядра для кода, обрабатывающего прерывания на GPIO-контактах, теперь ваша программа может ждать срабатывания прерывания. То есть теперь, пока вы ждете прерывания, процессор может выполнять другие задачи. GPIO-контактам можно задать прерывание на убывающем, на возрастающем или сразу на обоих фронтах входящего сигнала.

Примечание: На момент января 2013 года функция waitForInterrupt() является устаревшей. Используйте вместо нее более новую и простую wiringPiISR().

Параллельная обработка данных (многопоточность)

Библиотека WiringPi имеет упрощенный интерфейс для Linux-версии потоков POSIX, а также (упрощенные) механизмы для доступа к так называемым «мьютексам» (от «mutex», что является сокращением от «mutual exlusions»; этот термин обозначает механизм, который в вычислительных системах отвечает за синхронизацию доступа к общему ресурсу).

Используя эти функции, вы можете создать новый процесс (т.е. функцию внутри вашей главной программы), которая будет работать одновременно с главной программой и, используя механизм мьютекса, будет совместно с нею пользоваться общими переменными.

Прерывания

См.также

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