_Write в io.h a блокирует вызов?

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

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

1 ответ

Решение

Если вы хотите выполнить асинхронный ввод-вывод в Windows, то либо используйте API-интерфейсы Win32 напрямую (посмотрите документы для WriteFileEx/ReadFileEx, которые содержат указатели на общий фон для асинхронного ввода-вывода против синхронизации), либо рассмотрите boost::asio.

Другие вопросы по тегам