「C Sharpの基礎 - マルチスレッド」の版間の差分

ナビゲーションに移動 検索に移動
1行目: 1行目:
== 概要 ==
== 概要 ==
.NET Framework 4.5で導入されたC# 5.0(Visual Studio 2012) からは、マルチスレッドプログラミングをコンパイラレベルでサポートしている。<br>
.NET Framework 4.5で導入されたC# 5.0(Visual Studio 2012) からは、マルチスレッドプログラミングをコンパイラレベルでサポートしている。<br>
具体的には、asyncとawaitというキーワードが導入された。<br>
具体的には、<code>async</code>と<code>await</code>というキーワードが導入された。<br>
これは、タスクベース非同期パターン(Task-based Asynchronous Pattern、TAP)を実装するものである。<br>
これは、タスクベース非同期パターン(Task-based Asynchronous Pattern、TAP)を実装するものである。<br>
<br>
<br>
このタスクベース非同期パターンでは、処理の開始はMethodNameAsyncという形式をとる。<br>
このタスクベース非同期パターンでは、処理の開始はMethodNameAsyncという形式をとる。<br>
そしてその戻り値を、Task、Task<T>、voidとし、Taskを待つにはawaitを付加する。<br>
そしてその戻り値を、Task、Task<T>、voidとし、Taskを待つには<code>await</code>キーワードを付加する。<br>
また、awaitを付加した関数には、asyncを付加する。<br>
また、<code>await</code>キーワードを付加した関数には、メソッドのシグネチャに<code>async</code>キーワードを付加する。<br>
<br>
<br>
下記の例は、Task<int>型、Task<(bool, string)>型 (タプル型) を返す非同期関数である。<br>
以下の例は、Task<int>型、Task<(bool, string)>型 (タプル型) を返す非同期関数である。<br>
  <syntaxhighlight lang="c#">
  <syntaxhighlight lang="c#">
  // Task<int>型を返す非同期関数
  // Task<int>型を返す非同期関数

案内メニュー