[備忘録] C#の非同期プログラミングについて学びました

[備忘録] C#の非同期プログラミングについて学びました

備忘録

  • 非同期プログラミング:同じメソッドを呼んでいるけどその先で何か違う動きをする
    • スレッドを分ける
    • Task.acync,awiatを使う
    • 例:ユーザーが画面のボダンを押す→検索だけ行うスレッドを生成→結果を表示するスレッドはUIスレッド
    • Threadpool:処理を行ったらその時に空いているスレッドに処理をさせるのでスレッドを増やさずに処理をするのがベスト
    • 引数がobjectなら何を与えても良い
    • await:Task.Runの処理が終わるまで待機
    • awaitの頭にacyncを付ける
    • キャンセルする時にbool型とかでフラグを持たせるのは×
      • トークンキャンセルを活用