F# AsyncとTask

-- Views

December 23, 25

スライド概要

F#のAsyncとTaskの違いについて話したLT

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

AsyncとTask

2.

伸びしろコード ● EdinetCodeに基づいて、企業情報を取得 ○ EdinetCode:EDINETにおける法人や個人に付番される一意のコード

4.

F#の非同期プログラミング

5.

違い 項目 .NET Task F# Async 評価 即時評価 遅延評価 互換性 .NET 全体 F# 型 Task<’T>またはTask Async<’T> ● ● Taskは、タスクが作成された瞬間に 即時評価 され、スレッドプールに登録される Asyncは、実行関数 (StartAsTask,RunSynchronously等) が呼び出されるまで 遅延評価 される

6.

.NET / C# .NET Framework 1.0 2002年 ThreadPool の導入 .NET Framework 4.0 2010年 Task Parallel Library (TPL) の導入 Task 型が初登場。非同期処理が簡素化される。 C# 5.0 .NET Framework 4.5 2012年 async/await 構文の追加 非同期メソッドの可読性向上、エラーハンドリング改善。 .NET Core 2.1 2018年 ValueTask 型の導入 オーバーヘッド削減、短時間の非同期処理が効率化。 .NET Core 3.0 2019年 IAsyncEnumerable の導入 await foreach で非同期ストリーミングが可能に。 .NET 5 / .NET 6 2020/21年 非同期処理の最適化 Task のパフォーマンス改善。

7.
[beta]
F#
F# 1.0

2005年

非同期計算式 (async { }) の導入
# 独自の Async<'T> 型が登場。関数型スタイルの非同期処理が可能に。

F# 2.0

2010年

非同期メソッドの追加
Async.Start,Async.RunSynchronouslyで同期・非同期の実行が簡単に。

F# 3.0

2012年

Task との統合
Async.AwaitTask, Async.StartAsTaskが導入。
C# の async/await と相互運用が強化。

F# 4.5

2018年

ValueTask サポート
ValueTask 型の導入でオーバーヘッド削減。

F# 8/9

2023年

非同期ストリーミング強化
IAsyncEnumerable<'T> のサポート向上、 task 計算式の最適化。