2019-10-02から1日間の記事一覧

Task②

C#

Taskの基本② 継続タスク 子タスク Taskの基本② 継続タスク Task.ContinueWith()を使用することで、後続タスクを登録できます。 後続タスクは先行タスクを受けるAction/ラムダ式を引数にします。 先行タスクに戻り値がある場合、Resultから取得できます。 継…

Task①

C#

Taskの基本① Taskの作成/開始 Taskの待機 Taskの戻り値 Taskの基本① Taskの作成/開始 以下コードでタスクを作成/開始できます。 var task = new Task(() => hoge()); task.Start(); 以下のように①行で書くこともできます。 var task = Task.Run(() => hoge()…

並列処理について③(PLINQ)

C#

PLINQ ParallelEnumerable.AsParallel() 並列実行方法のコントロール 例外 PLINQ ParallelEnumerable.AsParallel() AsParallel()を使用することで、LINQのクエリを並列実行することができる。 ただし、必ずしも並列実行されるわけでなく、AsParallel()にてパ…

並列処理について②(Parallel.For/ForEachの管理)

C#

ParallelLoopState ParallelLoopState.Stop() ParallelLoopState.Break() ParallelLoopResult ParallelLoopState Prallel.For/ForEachにわたすAction/ラムダ式は、ParallelLoopStateを引数とするものも指定可能です。 ParallelLoopState.Stop()/Break()によ…