タグ

2015年3月26日のブックマーク (1件)

  • 第3回 TaskクラスとPLINQ(Parallel LINQ)(3/3) - @IT

    PLINQのワナ PLINQはクエリを並列実行可能にしてくれる。そのための手順はAsParallelメソッドの挿入だけである。 問題は、並列実行そのものにある。つまり、適切な同期が設計されていないとデータが狂う可能性が出てくるのである。また、並列実行されると順番が保存されない。並列に実行するということは、いくつかのデータをいっせいに処理するわけで、どのデータの処理が最初に終わるか明確ではない。だから、例えば以下のようなプログラムは、クエリ式にAsParallelメソッドを入れるだけで結果が変わってしまう可能性がある。 using System; using System.Linq; using System.Threading.Tasks; class Program { static void Main(string[] args) { int[] ar = { 1, 2, 3 }; v

    htsign
    htsign 2015/03/26
    "永遠に同じ技術でやっていけると錯覚したロートルはプロ/アマを問わず珍しくもない" あっ、弊社の上司だ!