タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

非同期に関するryochackのブックマーク (2)

  • 非同期メソッドの内部実装

    概要 Ver. 5.0 C# はこれまでも一貫して、「言語自体(コンパイラー)に多くのことをさせ過ぎない」、 「可能な限りフレームワーク側(クラス ライブラリ側)に実装を任せる」という方針で機能追加を行っています。 例えば、foreach や LINQ の実装がその例ですが、以下のように、コンパイラーの仕事はメソッド呼び出しへの変換になります。 「foreach」は、enumrable/enumerator パターンに沿って実装されたクラスなら何でも列挙可能。 単純に、GetEnumerator メソッドや MoveNext, Current などの呼び出しに置き換えられる。 LINQ「クエリ式」は、Select や Where という名前のメソッドを持っていれば何でも問い合わせ可能。 非同期メソッドも同様の方針を取っていて、 項で説明するようなパターンに沿ったクラスなら、なんでも aw

    非同期メソッドの内部実装
  • 非同期I/OやノンブロッキングI/O及びI/Oの多重化について

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 2017年5月20日追記 エントリはI/OのOperationとCompletionおよびデータ整合性を混ぜてまとめた一部誤った定義になっているので、正確な定義を日語で知りたい方は下記にリンクしたエントリを読むことをおすすめします。 非同期とノンブロッキングとあと何か Apache2.4.1のevent_mpmnginx及びnodde.jsのアーキテクチャを考える上で、非同期I/OやノンブロッキングI/O、I/Oの多重化に関してある程度正確な理解が必要だと思ったのでまとめておく。 ここで「ある程度」といったのは、非同期を表すAsynchronousとノンブロッキングのnon-blockingは曖昧に使われる場合が多いからだ。まず、英語

    非同期I/OやノンブロッキングI/O及びI/Oの多重化について
  • 1