В моем приложении есть io-поток, предназначенный для
Приложение обрабатывает данные в другом потоке. Кроме того, требования диктуют, что размер неподтвержденного окна должен быть равен 1, т. е. в любой момент времени должно быть только одно ожидающее неподтвержденное сообщение. Это означает, что если io-thread отправил сообщение через сокет, он больше не будет отправлять сообщения, пока не получит подтверждение от получателя. Поток обработки приложения взаимодействует с потоком ввода-вывода через канал. Приложение должно корректно закрываться, если кто-то из Linux CLI набирает ctrl+C. Таким образом, учитывая эти требования, у меня есть следующие варианты
У меня есть следующие вопросы
Решение между select () и опрос(). Мое приложение имеет дело только с менее чем 50 файловыми дескрипторами. Можно ли предположить, что не будет никакой разницы, выберу ли я выборку или опрос?
Выбор между select() и pselect(). Я прочитал документацию по Linux, и в ней говорится о состоянии гонки между сигналами и select().У меня нет опыта работы с сигналами, поэтому может ли кто-нибудь более четко объяснить состояние гонки и select()? Это как-то связано с тем, что кто-то нажимает Ctrl + C в CLI, и приложение не останавливается?
Выбор между pselect и ppoll() ? Любые мысли по поводу одного и другого