C#で非同期プログラミングをする方法
4.3 (115 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
795 students enrolled

C#で非同期プログラミングをする方法

Thread,ThreadPoolからTask,async awaitまでを分かりやすく解説
4.3 (115 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
795 students enrolled
Last updated 4/2020
Japanese
Current price: $28.99 Original price: $44.99 Discount: 36% off
2 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 1 hour on-demand video
  • 2 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 非同期プログラミングとは何かが分かる
  • Threadクラスを使った実装方法が分かる
  • ThreadPoolを使った実装方法が分かる
  • Taskを使った実装方法が分かる
  • async,awaitを使った実装方法が分かる
Course content
Expand 13 lectures 51:30
+ C#で非同期プログラミングをする方法
13 lectures 51:30
ThreadPool編
07:31
Task編
07:24
async await編
03:56
キャンセルする方法:フラグ編【非推奨】
04:03
キャンセルをフラグで管理するデメリット
04:01
例外とキャンセルトークンを使ってキャンセルする方法【推奨】
07:43
最後に
00:50

サンプルソースはこちらからダウンロードしてください

サンプルソース
00:03
ボーナストラック
00:13
Requirements
  • VisualStudio2017が必要です。マイクロソフトより無料でダウンロードできます。
Description

C#の非同期プログラミングは.NETFramework4.5以降はTaskとasync&awaitを使ったプログラミングを主流です。非同期プログラミングになじみのない人には非同期処理事態がわからないと思うのでそのあたりをじっくり解説した上で,C#でできる非同期プログラミングの具体的な実装方法を解説して行きます。

 

非同期ってはじめて聞く人には何のことかよくわからないと思いますが,簡単に言うと,例えばデータの検索画面があったとして,検索を実行してから検索が完了するまでに10秒くらいかかるとします。その10秒の待ち時間の間,次のどちらの処理がいいでしょうか?

 

(A)まったく画面操作ができなくて,画面が固まっていて,動いているのか止まっているのかも分からない。

 

(B)画面操作ができたり,プログレスバーがくるくる動作して「処理中です...」って感じで進捗状況を出してくれて,処理中を示してくれる。

 

間違いなく後者のほうがいいですよね?

この場合(A)が同期プログラミング,(B)が非同期プログラミングと呼びます。

 

(A)は一度にひとつの処理しかできないプログラミング手法なので,検索処理を行っている間は,画面操作が一切できなくなります。

 

(B)は時間のかかる処理をバックグラウンドで処理させながら,画面操作はそのままできるような実装方法になります。

 

ただ,プログラミング手法といっても,(B)だけを行うということではなく,通常は(A)のプログラミングを行いながら,バックグラウンドで処理させたいときのみ(B)のプログラミングを実施するという形になるので,通常の(A)の実装に加えて,(B)のプログラミングをマスターする必要があります。


Who this course is for:
  • C#プログラミング自体の初心者
  • C#での非同期プログラミング初心者