Вопрос

Я унаследовал какой-то код, который, для инициализации некоторого оборудования, пишет несколько байтов, а затем ждет возврата. Сделать это, это называет _write функция от io.h. Отказ Из моего тестирования похоже, что он блокируется в этой точке. Так что мои вопросы следующие:

  1. Это функция блокирующей функции?
  2. Есть ли способ установить тайм-аут?
  3. Есть ли альтернативная функция безблокировки, которую я мог бы использовать вместо этого?
Это было полезно?

Решение

Если вы хотите сделать async ввода / вывод, то либо используйте apis win32 напрямую (посмотрите на документы для writefileex / readfileex, которые содержат указатели на общий фон на Sync async ввода-выводом VS) или рассмотреть возможность Boost :: Asio.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top