Асинхронный ввод/вывод
Сегодня я расскажу про асинхронный ввод/вывод. При обычном вводе/выводе функция ввода/вывода (FileWrite/Read, Write/ReadFile(Ex), BlockRead/Write, TFileStream.Read/Write) возвратит управление только после того, как полностью выполнится операция ввода/вывода. А если используется носитель с медленной скоростью чтения/записи, или производится обработка больших объёмов данных, то программа «подвиснет» на время чтения/записи. При асинхронном вводе/выводе функция сразу же возвращает управление, и программа продолжает выполняться дальше без задержек. Эта технология может пригодиться для разработки программ для взаимодействия с внешними устройствами с низкой скоростью передачи данных, например сотовыми телефонами, устройствами BlueTooth или IrDA.
(more…)