タグ

awaitに関するrin51のブックマーク (8)

  • コルーチンは怖くない

    コルーチンの基的なアイディアを正確さより雰囲気重視で解説してみました。 一応コルーチンやイベントループによる非同期処理に関しては概念はPythonに限った話ではないのでNode.jsなどでも同じ理解でいいはず。。。 下記のサンプルを全部動かすにはPython 3.6以降を使ってください。(ローカルにない場合はdocker run --rm -it python:3.7とかでもOK) コルーチンとは サブルーチンの上位(?)概念です。 サブルーチン(いわゆる関数)はエントリポイントが一つで、一度呼び出したら値が返されるまで一気に動きます。 これに対しコルーチンはエントリポイントが複数箇所あるため、一度呼び出されても中断でき、その場所からまた再開できるというものです。 async/awaitとネイティブコルーチン Python 3.5でasync/await構文とともに導入されたネイティブコ

    コルーチンは怖くない
  • 非同期処理の種類

    概要 「非同期処理」と言っても、いくつかのタイプの用途があって、それぞれ書き方や使うクラス ライブラリが異なります。 大まかに言うと、以下のような用途があります。 バックグラウンド処理: 負荷の高い計算や、I/O待ちなどによって、CPUやスレッド資源を保持し続けないために、別スレッドでの計算やI/O待ちを行います。 並列計算: マルチコアCPUの性能を最大限引き出すために、同じ計算を複数のコアで同時に実行します。 データ並列: 同じ処理を異なるデータに対して繰り返し行います。 タスク並列: 異なる処理が独立して動いていて、その間で非同期にデータのやり取り(非同期データフロー)を行います。 C# 5.0 で導入された非同期メソッド(「非同期処理」参照)は、前者のバックグラウンド処理を簡単化するものです。 一方、データ並列には.NET Framework 4 で導入された Parallel ク

    非同期処理の種類
  • .NET Framework4.5 での非同期I/O処理 事始め:Gushwell's Dev Notes

    この記事は、C# Advent Calender 2012 http://atnd.org/events/33905 への参加記事です。 今年もC# Advent Calender が開始されました。 なかなか書くネタが見つからず、参加しようかどうか悩んでいるうちに、気が付いたら、空いている日が、 初日の 12/1 と 最終日の 12/25 の2日だけになってました。さすがに最終日はプレッシャーがかかると 思ったので、初日である 12/1 にエントリーさせてもらいました。 さて、お題は、「.NET Framework4.5 での非同期I/O処理 事始め」です。 既に多くの方がブログで async, awaitの記事を書いているので、2番煎じ、3番煎じの感は 否めませんが、まあ、このC# Advent Calenderは、ゆるいイベントということなので、大目 に見てください(^^; さて、こ

  • C# Asynchronous Programming - Async and Await

  • async/await不要論

    並列/並行基礎勉強会での発表資料です。 補足エントリもどうぞ。 http://bleis-tift.hatenablog.com/entry/asyncawaitdis

    async/await不要論
  • An other world awaits you

    C# 5.0/VB 11で導入された async/await と、 その背後にある実行インフラ await 演算子の展開結果 await 演算子では解決できなその他の非同期 などについての話。

    An other world awaits you
  • async/awaitと同時実行制御

    C# 5.0のasync/awaitを使うと、多くの場面ではシングル スレッド的な動作になるし、多くの場面ではlock不要(結果的に、デッドロックが起こりようなくなる)になったりします。 ただし、「多くの場面で」。「必ず」ではないのがはまりどころ。いくつかの場面では、同時実行制御が必要です(普通にマルチスレッドの平行実行になるので、同時に同じデータにアクセスされる可能性を考慮しないとバグります)。 前提知識 いくつか、C# 5.0世代の非同期処理についての前提知識は、以下のスライド(先月末の.NETラボでの発表)を参考にしてください。 5~12ページ: async/awaitの書き方 17~22ページ: スレッドとそのコスト 24~26ページ: スレッド プール 29~32ページ: I/O完了待ちと非同期API 36~40ページ: UIスレッドとディスパッチャー 41~45ページ: 同期コ

    async/awaitと同時実行制御
  • 1