Как сделать программу нетерпеливой?

в 12:36, , рубрики: linux, UNIX, Айдеко, Алгоритмы, Блог компании Айдеко, обучение, Программирование, сетевое программирование, метки: , , , , , ,

Как сделать программу нетерпеливой?

Программы, которые были написаны в прошлых лекциях курса «Сетевое программирование в UNIX», обладали бесконечным запасом терпения, то есть беспрекословно ждали, пока не поступят данные для обработки. В новой лекции вы узнаете, как ограничить терпение программы определенными временными рамками.

Автор курса Александр Патраков рассказывает, как обрабатывать в сетевой программе события, привязанные ко времени, например, таймауты на прием и передачу данных. В случае с блокирующими сокетами все очень просто, с неблокирующими – чуть сложнее.

В случае с неблокирующими сокетами для эффективного вычисления значения таймаута, которое надо передать в функцию select() или ее аналоги, можно применить структуру данных, которая называется «двоичная куча». Другое ее название — «пирамида».

Чтобы узнать, как она работает, смотрите видео.

Слайды доступны здесь

Предыдущие лекции:
1. Курс для тех, кто не боится UNIX и C
2. Каждому клиенту по процессу
3. Реализуем протокол или как работают астрологи
4. О том, как читать до конца
5. Программы в автоматном стиле — трудности перевода
6. Как делать несколько дел одновременно и в то же время по очереди?
7. Эффективное чтение

Автор: AdMonster

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js