タグ

2015年2月20日のブックマーク (10件)

  • [C#] async, await

    メソッドの宣言に async を付けると非同期メソッドとなり、メソッドの中で awaitが指定できるようになる。 await を指定すると非同期メソッドの実行が終わるまで待ってから制御を戻す。 分かりやすい参考サイト http://ufcpp.net/study/csharp/sp5_async.html#async HttpClientクラスを使って、asyncとawaitを試してみる。 ■どこからかコピペしてきたりしてつくった、おれおれサンプル class Program { static void Main(string[] args) { Console.WriteLine("読み込みを開始します"); // 非同期で実行 readWebAsync("http://www.google.co.jp/").ContinueWith( (task) => { // task.Resul

  • [C#]タスクのキャンセル方法

    前書き普段C#ではほんとスクリプトみたいなちまーっとしたものしか作らないので、たまにTaskのキャンセル処理を入れようとするとどうやるのか忘れてしまっています。 と言うわけでメモしておきます。 CancellationTokenSourceを作成する何はともあれCancellationTokenSourceを作成します。 Taskに指定するCancellationTokenはこのTokenプロパティが持っています。 また、実際にキャンセルするメッセージを発行するのはCancellationTokenではなくCancellationTokenSourceの方です。ちょっとコードを書いてみましょう。 private CancellationTokenSource _tokenSource = null; private void btnStart_Click(object sender, Ev

    [C#]タスクのキャンセル方法
  • TPL カテゴリーの記事一覧 - xin9le.net

    昨日Twitterで次のようなつぶやきを見かけました。よくよく考えてみれば、自分でもこれまで一度も並列処理中の進捗通知についてはやったことなかったです。ということで、とりあえずでやってみました。 ProgressBarの進捗がカオスwwwと思ったけども、Para…

    TPL カテゴリーの記事一覧 - xin9le.net
  • 避けて通れない「非同期処理」を克服しよう(2/3) - @IT

    連載:次世代技術につながるSilverlight入門 避けて通れない「非同期処理」を克服しよう 岩永 信之 2012/08/02 ■非同期APIのパターン 具体的なサンプル・コードを使った説明に入る前に、注意しておく点がある。歴史的経緯から、.NETとSilverlightの非同期APIの書き方には、以下の3つの異なるパターンが存在する。 APM(Asynchronous Programming Model): Begin/Endのメソッドのペアを使う EAP(Event-based Asynchronous Pattern): 開始用のメソッドと、結果受け取り用のイベントのペアを使う TAP(Task-based Asynchronous Pattern): Taskクラスのオブジェクトを返す1つのメソッドを使う Table 1にそれぞれの例(C#)を示す。

  • TAP による非同期コードの基本的な書き方 - C# 入門

    「async と await の基的な使い方」では、.NET Framework の WebClient クラスの DownloadStringTaskAsync メソッドの利用方法を通して、非同期メソッドの呼び出し方、処理の待ち方、 そして結果の受け取り方をみました。 C# 5.0 の非同期プログラミングでは async、await および Task を利用することによって、 非同期メソッドが非常に簡単に利用できることがわかったとおもいます。 ここでは、自前で非同期メソッドを実装する場合に、どのように書くのかを確認します。 Run.Task を利用して非同期処理を記述する ここでは例として、時間のかかる処理を 5 秒間 (5000ms) のスリープとします。 次のようなテスト用アプリケーションを作りました。 上側のボタンで戻り値がない場合のコードを、下側のボタンで戻り値がある場合のコー

    TAP による非同期コードの基本的な書き方 - C# 入門
  • 非同期メソッド入門 (1) - 非同期処理の歴史 - xin9le.net

    非同期メソッドを学ぶにあたり、簡単に.NET Frameworkがこれまで提供してきた非同期処理について復習しておきましょう。図示すると大体以下のような感じだと思います。 以下、これらについてコードを交えながら簡単に見ていきます。 UIスレッド上で処理する書き方 もはや言うまでもありませんが、UIスレッドに対して同期的な書き方をすると以下のようになります。これを基として、以下いろいろな非同期処理の記述方法を確認します。 private void Button_Click(object sender, RoutedEventArgs e) { this.button.IsEnabled = false; Thread.Sleep(3000); //--- 何か長い処理 this.button.IsEnabled = true; } Thread スレッドそのもの表すThreadクラスを利用

  • 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)
  • .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT

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

    .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT
  • iOSエンジニアが選ぶβテスティングサービス | 株式会社VASILY(ヴァシリー)

    多くのiOSエンジニアが愛用していたβテスティングサービスのTestFlightですが、2015年2月26日をもってtestflightapp.comが閉鎖になるという公式アナウンスがありました。 TestFlightを運営するBurstly社がApple社に買収され、現在ではiTunes ConnectからTestFlightが利用出来るようになっています。今後は後継となるTestF...多くのiOSエンジニアが愛用していたβテスティングサービスのTestFlightですが、2015年2月26日をもってtestflightapp.comが閉鎖になるという公式アナウンスがありました。 TestFlightを運営するBurstly社がApple社に買収され、現在ではiTunes Connectから TestFlightが利用出来るようになっています。今後は後継となるTestFlight B

    iOSエンジニアが選ぶβテスティングサービス | 株式会社VASILY(ヴァシリー)
  • サクサク引ける Rubyリファレンスマニュアル

    キーボード操作 [↓]次の項目を選択 [↑]前の項目を選択 [Enter]選択された項目を開く Fork me on GitHub ≫ https://github.com/miyamae/rubydoc-ja/tree/master 静的なファイルだけで構成されているので、ダウンロードしてローカルで利用することもできます。 作ってる人=みやまえ@BitArts

    サクサク引ける Rubyリファレンスマニュアル