J'ai souvent entendu parler de asynchronous I/O
, ce qui n'est pas bloquant s'il n'y a rien à E/S.Pourquoi le blocage des E/S est-il en cours?
Ma question est, quand nous faisons une blocking operation
, je ne vois aucune logique dans mon code qui bloquent l'exécution. Alors, qui cause le blocage? Le système d'exploitation?
Donc, si nous voulons non-blocking operation
, pouvons-nous devons attente pour le système d'exploitation pour fournir le soutien? Ou pouvons-nous implémenter une version non-blocking
sur la version blocking
?
"J'ai souvent entendu parler d'E/S asynchrones, qui ne sont pas bloquantes s'il n'y a rien à E/S": cette instruction est très confuse. Il y a trois choses différentes: les E/S bloquantes, les E/S non bloquantes et les E/S asynchrones. Seul le premier de ces blocs. – EJP
@EJP Pour être honnête, je ne suis pas tout à fait sûr de la distinction entre non-bloquant et asynchrone. Merci de l'avoir soulevé. Je suis sûr que les E/S asynchrones sont non bloquantes. Y a-t-il des E/S non bloquantes qui ne sont pas asynchrones? – smwikipedia