Существуют и другие причины использовать сигналы в реальном времени. У меня есть приложение, которое взаимодействует с различными внешними устройствами и делает это с помощью комбинации средств (последовательный порт IO, даже прямая адресация некоторых карт старше, чем большинство знакомых вам людей). По определению, это приложение «реального времени» - оно взаимодействует с реальным миром в реальном времени, а не в «компьютерном времени».
Многое из того, что он делает, находится в процессе демона, который находится в основном цикле: обработка события, чтение информации, запись результатов в последовательные порты, сохранение данных в базе данных и т. Д., А затем циклическое повторение для другого события , Другие процессы на машине (пользовательские процессы) считывают информацию из БД, отображают ее и т. Д. Пользователь в этих других процессах может отправлять различные сигналы демону, чтобы предупредить его о различных условиях: остановка, изменение входных данных и так далее. Например, пользовательский процесс отправляет сигнал «стоп», подпрограмма обработчика сигналов демона имеет около 2 строк кода, устанавливающих переменную flag. Когда у демона появляется шанс, и это удобно, он останавливается. Код «прерывания» очень прост, быстр и неинвазивен. Но он служит цели, не требует сложных структур IPC и работает просто отлично.
Итак, да, есть причины для этих сигналов. В приложениях реального времени. При правильном обращении они работают просто отлично, спасибо.