2

Java の AsyncHttp クライアントや C# の Async Web Request 機能などのクライアントがどのように機能するかを知りたいと思っています。基本的に、スレッドが IO 操作の結果を待っているだけではないことを保証するために、低レベルのコードはどのように機能しますか。

私の推測では、マシン割り込みです。しかし、C# や Java などの高水準言語でそれらがどのように機能するかはわかりません。

4

2 に答える 2

2

それはいくらでもあり得ます。現在、ほとんどの OS には非ブロッキング IO 呼び出しがあり、ブロッキング IO 呼び出しの代わりに非ブロッキング IO 呼び出しを使用するように切り替えることができます。それより低いレベルは、デバイスに依存します。ほとんどすべてのデバイスは、割り込みハンドラーによって処理される割り込みを発生させますが、OS がそれを非ブロッキング IO に変換する方法と、完了がどのように機能するかは、OS および非同期実装とは異なります。

于 2013-07-03T20:10:05.897 に答える