タグ

asyncに関するcrafのブックマーク (11)

  • 幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita

    クライアントアプリにとって、マルチスレッドプログラミングは避けては通れない重要な概念です。しかし、気をつけないとハマるポイントも多く、初めてクライアントアプリを学ぶ人たちからすると、複雑で難解な取っつきづらいものでもあります。ここでは、スレッドの基から、効率的な使い方、また複雑化しやすいポイントをシンプルに実装するためのノウハウを見ていきます。 TL;DR スレッドの取り扱い方を知る Threadをそのまま使わず、AsyncTaskやIntentService、時にThreadPoolExecutorを使ってスレッドの使い方を効率化する。 複雑な処理フローをシンプルに扱うためのフレームワークを導入する PromiseやRxAndroidなどで、複雑化しやすいポイントを整理する。 スレッドの基 スレッドといえば、ThreadクラスやRunnableクラスがベースにあります。以下のようにす

    幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita
  • Async in C# and F#: Asynchronous gotchas in C# (Japanese translation)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Async in C# and F#: Asynchronous gotchas in C# (Japanese translation)
    craf
    craf 2013/05/15
  • 非同期入出力の残念な現状

    asynchronous disk I/O | libtorrent blog Libtorrent experience - the poor state of async disk IO | Hacker News libtorrentの作者が、ディスクI/Oをパフォーマンスを向上させるために非同期I/Oを試した結果、どの環境でも残念なので、ブロックI/Oをスレッドプールで行う擬似非同期I/Oで実装したとブログを書いている。その問題について、Hacker Newsでも議論されている。 非同期I/Oは、話を聞くとたのもしい機能に思える。読み書きが完了するまでブロックせずに、完了したらOSが通知するという仕組みだ。 問題は、その実装がどの環境でも貧弱だという事だ。 環境というのは、主にOS側のことだ。多くのモダンなOSは非同期I/Oを提供している。特に著名なのがみっつある。 Linux A

    craf
    craf 2012/10/29
  • [雑記] 非同期制御フロー

    概要 C# 5.0のasync/awaitがなかったころ、少し複雑目な非同期制御フローをどうやって実現していたかという話。 C# 5.0を使えない状況下で非同期処理を書くことになった場合の参考としてや、async/awaitがどうやって実現されているかを知るきっかけになると思います。 サンプル コード(ZIP 形式。proj/sln 含め一式。) ポイント C# 5.0(await演算子)便利だなー await演算子が内部的にやっていることは、イテレーターに近い なので、昔はイテレーターを使って非同期処理をすることが結構あった サンプルの要件 今回の例として使うのは、Figure 1に示すような、確認ダイアログ表示のフロー。 確認ダイアログを表示する例 要は、何かを実行するにあたって、特定条件下では確認ダイアログの表示が必要で、すべてのダイアログで「OK」を押したときにだけ実行に移るという

    [雑記] 非同期制御フロー
  • 非同期プログラミング - 非同期のパフォーマンス: 非同期と待機のコストについて

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 非同期のパフォーマンス: 非同期と待機のコストについて Stephen Toub 長い間、非同期プログラミングを扱えるのは、非常に熟練した自虐的な開発者、つまり、非線形の制御フローで繰り返されるコールバックについて考える時間、くせ、および精神的余裕がある開発者だけでした。このような開発者でなくても、Microsoft .NET Framework 4.5 を使えば C# と Visual Basic で非同期プログラムを作成できるようになります。すなわち、大多数の開発者が同期メソッドと同じように簡単に非同期メソッドを作成できるようになります。もうコールバックは必要ありません。同期コンテキストの遷移の中でコード

    非同期プログラミング - 非同期のパフォーマンス: 非同期と待機のコストについて
  • 非同期プログラミング - await による一時停止と再生

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 await による一時停止と再生 Mads Torgersen コード サンプルのダウンロード 次期バージョンの Visual Basic と C# における非同期メソッドは、非同期プログラミングからコールバックを取り除く優れた手段です。今回の記事では、await という新しいキーワードの実際の動作について、概念のレベルからその課題まで詳しく説明します。 シーケンシャル構成 Visual Basic と C# は命令型プログラミング言語であり、これは Visual Basic と C# の特長でもあります。つまり、これらの言語では、順次実行される「順番に並べられた個別の手順」としてプログラミング ロジックを表

    非同期プログラミング - await による一時停止と再生
  • .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT

    連載目次 「エンド・ユーザーは、0.5秒のフリーズでストレスを感じ、3秒のフリーズはバグだと思う」。昔、冗談半分に言ってみた言葉だが、回りの反応を見るに、割とみな思っていることらしい。 特にモバイル端末向けのOSでは、応答性の悪いアプリケーションはOSによって強制終了されたり、マーケットプレイスでの審査に落ちたりする。フリーズしないアプリケーション作りがますます重要になっている。 そこで、稿では、フリーズしないアプリケーション作りに必要となる「非同期処理」*1について説明していく。 *1 時間のかかるAPIに対して、そもそも非同期版しか提供しないケースが増えてきている。Windows 8の新しいWindows API(WinRT)では、50ミリ秒以上かかるAPIを、すべて非同期なメソッドとして提供するそうだ。 ■非同期処理の今までとこれから ネットワークI/Oのように待ち時間の発生する処

    .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT
  • 並列プログラミング - .NET アプリケーションの並列処理についての過去、現在、未来

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 .NET アプリケーションの並列処理についての過去、現在、未来 Stephen Toub 過去の並列処理 スレッドの直接操作は、応答性の高いクライアント アプリケーション、並列アルゴリズム、およびスケーラブルなサーバーを実現するために、以前から開発者が採用している方法です。しかし、この手法は、デッドロック、ライブロック、ロック コンボイ、2 ステップ ダンス、競合、オーバーサブスクリプションといったアプリケーションを望ましくない状態に陥らせる温床でもありました。Microsoft .NET Framework は、その誕生以来、専用の名前空間 (System.Threading) など、同時実行アプリケーショ

    並列プログラミング - .NET アプリケーションの並列処理についての過去、現在、未来
  • のぞき見: Visual BasicとC#の非同期シンタックス

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    のぞき見: Visual BasicとC#の非同期シンタックス
  • RPC サーバの遅延リターン - steps to phantasien(2009-07-04)

    最近は過労気味でウェブにものを書くこともできない, という話で上司の同情を誘うべく 日人の労働時間やストレスの実態をまとめた エンドレス・ワーカーズ を読んだら, 自分の労働時間は日人労働者の上位 2 割から漏れていることを知り愕然とした. あんなに働いたってのに...残業エリートへの道は険しい. 道を進みたいわけじゃないけれど. (平均は越えてたぜ!) いずれにせよ流行からはすっかり脱落しているので, 時流を無視して仕事の話でもしよう. 以前, 会社の blog で RPC の結果をノンブロッキングスタイルで受け取るプリミティブ "弱関数" を提案した. でも試行錯誤の結果, いまは使っていない. C++ での弱参照は意図しないリークを作りやすい. 使いわすれることも多く, 忘れた頃にクラッシュする. 要求は明示的にキャンセルした方がいいことがわかった. (世間はみんなそうやってます

  • 実践的なパターン: テストの容易性を高める設計

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. .NET Matters Asynchronous Stream Processing Stephen Toub Q I've read about some neat tricks you can play to ease the development of asynchronous implementations using C# iterators. (Jeffrey Richter was extolling the virtues of such techniques in a previo

    実践的なパターン: テストの容易性を高める設計
  • 1