タグ

非同期とTaskに関するa-hamahamaのブックマーク (4)

  • Taskを極めろ!async/await完全攻略 - Qiita

    この記事は、 Task.Runを書けばとりあえず非同期で動くのはわかる 時々なんかうまく動かなかったりするけどどうして動かないのかはよくわからない よくわからないまま書いてよくわからないまま動いてるけどこれで大丈夫なのかわからなくてこわい みたいな人を対象にしています。 Taskクラスとasync/await 皆さん、非同期してますか?当然してますね。同期処理が許されるのはC#2.0までだよねーじゃなくて、async/awaitはC# 5.0から導入された、Taskクラスと紐付いた言語構文の一つです。登場はもう数年前なはずなんですが、未だに新しい言語仕様な感じがしてフシギです。それでもさすがに今は馴染んでいて、どこにでも遠慮なく飛び出てくるようになっています。 Taskの難しさ Taskは、難しいです。 Taskがというよりは、非同期処理自体が持つ複雑さが根に存在するため、いくらシンプル

    Taskを極めろ!async/await完全攻略 - Qiita
  • neue cc - asyncの落とし穴Part3, async voidを避けるべき100億の理由

    だいぶ前から時間経ってしまいましたが、非同期の落とし穴シリーズPart3。ちなみにまだ沢山ネタはあるんだから!どこいっても非同期は死にますからね! async void vs async Task 自分で書く場合は、必ずasync Taskで書くべき、というのは非同期のベストプラクティスで散々言われていることなのですけれど、理由としては、まず、voidだと、終了を待てないから。voidだと、その中の処理が軽かろうと重かろうと、終了を感知できない。例外が発生しても分からない。投げっぱなし。これがTaskになっていれば、awaitで終了待ちできる。例外を受け取ることができる。await Task.WhenAllで複数同時に走らせたのを待つことができる。はい、async Taskで書かない理由のほうがない。 んじゃあ何でasync voidが存在するかというと、イベントがvoidだから。はい。b

  • タスク並列ライブラリ入門記-000 (事始め, 殴り書きメモ) - いろいろ備忘録日記

    .NET 4.0から追加された「タスク並列ライブラリ(以下TPLと記述)」についての メモを書いていこうと思ってます。 忘れやすいので、自分のために殴り書きメモを以下に記述。(超見づらいです・・すみません) この内容をまとめていろいろ記述していこうと思っているところ。 リソースとしては タスク並列ライブラリ(TPL)についてのリソース (Task Parallel Library, Parallel.For, Thread, ThreadPool, 非同期, 並列) http://d.hatena.ne.jp/gsf_zero1/20110210/p1 でピックアップした、各記事を元に勉強していこうと思ってます。 元の記事はどれも素晴らしいです。 以下、MSDNのメモ書き。 タスク並列ライブラリとは、1つまたは複数のタスクを同時に実行することを可能とするライブラリ。 データの並列化:Par

    タスク並列ライブラリ入門記-000 (事始め, 殴り書きメモ) - いろいろ備忘録日記
  • 並列処理における UI コントロールの操作

    Last Updated 2011/09/21 並列処理のサンンプルコードはほとんどがコンソールアプリケーションです。しかし、私はコンソールアプリケーションを好みません。したがって、並列処理において UI コントロールにアクセスする手順は私にとってもっとも重要なテーマの一つです。 並列処理において、UI コントロールにアクセスしなければならないケースとは次の 2 つだと思います。 処理結果を UI コントロールに反映する 処理を中止する 「処理結果を UI コントロールに反映する」とは、結果をテキストボックスに表示するとか、処理の進捗状況をプログレスバーに表示するなどが考えられます。「処理を中止する」は処理の対象のデータの入力に不都合があって処理自体が不要になる場合とか、予想より処理時間が長くなりそうなので、途中で中止する場合です。この場合はボタンコントロールをクリックすることで中止の意図

  • 1