Question

J'ai hérité du code qui, pour initialiser un peu de matériel, écrit quelques octets et attend un retour. Pour ce faire, il appelle la fonction _write de io.h. De mes tests, on dirait qu'il est enfermer à ce moment-là. Mes questions sont les suivantes:

  1. Est-ce que la fonction d'une fonction de blocage?
  2. Est-il possible de fixer un délai d'attente?
  3. Y at-il une fonction alternative non-bloquant je pourrais utiliser à la place?
Était-ce utile?

La solution

Si vous voulez faire async E / S sous Windows puis utilisez soit les API Win32 directement (consultez docs pour WriteFileEx / ReadFileEx, qui contiennent des pointeurs vers des arrière-plan général sur async I / O vs synchronisation) ou envisager boost :: asio .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top