Pull to refresh

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

Айдеко corporate blog Algorithms *C *


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

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

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

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



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

Предыдущие лекции:
1. Курс для тех, кто не боится UNIX и C
2. Каждому клиенту по процессу
3. Реализуем протокол или как работают астрологи
4. О том, как читать до конца
5. Программы в автоматном стиле — трудности перевода
6. Как делать несколько дел одновременно и в то же время по очереди?
7. Эффективное чтение
Tags:
Hubs:
Total votes 30: ↑23 and ↓7 +16
Views 11K
Comments Comments 6

Information

Founded
2005
Location
Россия
Website
www.ideco.ru
Employees
Unknown
Registered